Class: Simpleokta::Client
- Inherits:
-
Object
- Object
- Simpleokta::Client
- Includes:
- Apps, AuthServers, Constants, Groups, Users
- Defined in:
- lib/simpleokta/apps.rb,
lib/simpleokta/users.rb,
lib/simpleokta/client.rb,
lib/simpleokta/groups.rb,
lib/simpleokta/constants.rb,
lib/simpleokta/auth_servers.rb
Defined Under Namespace
Modules: Apps, AuthServers, Constants, Groups, Users
Constant Summary
Constants included from Constants
Constants::API_BASE_PATH, Constants::APP_API_BASE_PATH, Constants::AUTH_SERVER_API_BASE_PATH, Constants::GROUP_API_BASE_PATH, Constants::ORG_API_BASE_PATH, Constants::SYSTEM_LOG_API_BASE_PATH, Constants::USER_API_BASE_PATH
Instance Attribute Summary collapse
-
#api_token ⇒ Object
Returns the value of attribute api_token.
-
#base_api_url ⇒ Object
Returns the value of attribute base_api_url.
Instance Method Summary collapse
-
#call_with_token(action, url, body = {}) ⇒ Object
This method will add our api_token to each authorization header to keep our code D.R.Y.
-
#claim(auth_server_id, claim_id) ⇒ Hash<Claim Object>
Get a specific Claim defined for a given Authorization Server.
-
#claims(auth_server_id) ⇒ Array<Claim Object>
Get all Claims defined for a given Authorization Server.
-
#client_resources(auth_server_id) ⇒ Array<Hash>
Lists all Client Resources for which the specified Authorization Server has tokens.
-
#create_claim(auth_server_id, claim_data) ⇒ Hash<Claim Object>
Create a Claim for a given Authorization Server.
-
#create_rule(auth_server_id, policy_id, rule_data) ⇒ Hash<Rule Object>
Create a Policy Rule for a given Policy on a given Authorization Server.
-
#create_scope(auth_server_id, scope_data) ⇒ Hash<Scope Object>
Create a Scope for a given Authorization Server.
-
#delete_claim(auth_server_id, claim_id) ⇒ Object
Delete a specific Claim defined for a given Authorization Server.
-
#delete_rule(auth_server_id, policy_id, rule_id) ⇒ Object
Delete a Policy Rule for a given Policy on a given Authorization Server.
-
#delete_scope(auth_server_id, scope_id) ⇒ Object
Delete a Scope for a given Authorization Server.
-
#initialize(config) ⇒ Client
constructor
Initialize using passed in config hash.
-
#keys(auth_server_id) ⇒ Array<Credentials Object>
Get all Keys associated with a given Authorization Server.
-
#refresh_token(auth_server_id, client_id, token_id) ⇒ Array<Hash>
Gets a specific Refresh Token issued by an Authorization Server for a specific client.
-
#refresh_tokens(auth_server_id, client_id) ⇒ Array<Hash>
Lists all Refresh Tokens issued by an Authorization Server for a specific client.
-
#revoke_refresh_token(auth_server_id, client_id, token_id) ⇒ Object
Revokes a specific Refresh Token issued by an Authorization Server for a specific client.
-
#revoke_refresh_tokens(auth_server_id, client_id) ⇒ Object
Revokes all Refresh Tokens issued by an Authorization Server for a specific client.
-
#rotate_keys(auth_server_id) ⇒ Array<Credentials Object>
Rotate the current Keys associated with a given Authorization Server.
-
#rule(auth_server_id, policy_id, rule_id) ⇒ Hash<Rule Object>
Get a specific Policy Rule for a given Policy on a given Authorization Server.
-
#rules(auth_server_id, policy_id) ⇒ Array<Rule Object>
Get all Policy Rules for a given Policy on a given Authorization Server.
-
#scope(auth_server_id, scope_id) ⇒ Hash<Scope Object>
Get a specific Scope defined for a given Authorization Server.
-
#scopes(auth_server_id) ⇒ Array<Scope Object>
Get all Scopes defined for a given Authorization Server.
-
#update_claim(auth_server_id, claim_id, claim_data) ⇒ Hash<Claim Object>
Update a specific Claim defined for a given Authorization Server.
-
#update_rule(auth_server_id, policy_id, rule_id, rule_data) ⇒ Hash<Rule Object>
Update a Policy Rule for a given Policy on a given Authorization Server.
-
#update_scope(auth_server_id, scope_id, scope_data) ⇒ Hash<Scope Object>
Update a Scope for a given Authorization Server.
Methods included from Users
#activate_user, #apps_assigned_to_user, #create_and_activate_user, #create_user, #create_user_in_group, #deactivate_user, #delete_user, #reactivate_user, #suspend_user, #unlock_user, #unsuspend_user, #update_user, #user, #user_from_login, #users
Methods included from Groups
#add_user_to_group, #apps_assigned_to_group, #assign_group_to_application, #get_assigned_group_for_application, #group, #group_members, #groups, #remove_group, #remove_group_from_application, #remove_user_from_group, #update_group
Methods included from AuthServers
#activate_auth_server, #auth_server, #auth_servers, #create_auth_server, #create_policy, #deactivate_auth_server, #delete_auth_server, #delete_policy, #policies, #policy, #update_auth_server, #update_policy
Methods included from Apps
#activate_app, #app, #apps, #create_app, #deactivate_app, #delete_app, #update_app, #users_assigned_to_application
Constructor Details
#initialize(config) ⇒ Client
Initialize using passed in config hash
24 25 26 27 28 |
# File 'lib/simpleokta/client.rb', line 24 def initialize(config) @api_token = config[:api_token] @base_api_url = config[:base_api_url] @http ||= HTTP::Client.new end |
Instance Attribute Details
#api_token ⇒ Object
Returns the value of attribute api_token.
20 21 22 |
# File 'lib/simpleokta/client.rb', line 20 def api_token @api_token end |
#base_api_url ⇒ Object
Returns the value of attribute base_api_url.
20 21 22 |
# File 'lib/simpleokta/client.rb', line 20 def base_api_url @base_api_url end |
Instance Method Details
#call_with_token(action, url, body = {}) ⇒ Object
This method will add our api_token to each authorization header to keep our code D.R.Y
36 37 38 39 40 41 42 |
# File 'lib/simpleokta/client.rb', line 36 def call_with_token(action, url, body = {}) uri = @base_api_url + url @http .headers(accept: 'application/json', content: 'application/json') .auth("SSWS #{@api_token}") .send(action, uri, { json: body }) end |
#claim(auth_server_id, claim_id) ⇒ Hash<Claim Object>
Get a specific Claim defined for a given Authorization Server
338 339 340 341 342 343 344 |
# File 'lib/simpleokta/auth_servers.rb', line 338 def claim(auth_server_id, claim_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims/#{claim_id}" ) JSON.parse(response.body) end |
#claims(auth_server_id) ⇒ Array<Claim Object>
Get all Claims defined for a given Authorization Server
324 325 326 327 328 329 330 |
# File 'lib/simpleokta/auth_servers.rb', line 324 def claims(auth_server_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims" ) JSON.parse(response.body) end |
#client_resources(auth_server_id) ⇒ Array<Hash>
Lists all Client Resources for which the specified Authorization Server has tokens
425 426 427 428 429 430 431 |
# File 'lib/simpleokta/auth_servers.rb', line 425 def client_resources(auth_server_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients" ) JSON.parse(response.body) end |
#create_claim(auth_server_id, claim_data) ⇒ Hash<Claim Object>
Create a Claim for a given Authorization Server
352 353 354 355 356 357 358 359 |
# File 'lib/simpleokta/auth_servers.rb', line 352 def create_claim(auth_server_id, claim_data) response = call_with_token( 'post', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims", claim_data ) JSON.parse(response.body) end |
#create_rule(auth_server_id, policy_id, rule_data) ⇒ Hash<Rule Object>
Create a Policy Rule for a given Policy on a given Authorization Server
204 205 206 207 208 209 210 211 |
# File 'lib/simpleokta/auth_servers.rb', line 204 def create_rule(auth_server_id, policy_id, rule_data) response = call_with_token( 'post', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules", rule_data ) JSON.parse(response.body) end |
#create_scope(auth_server_id, scope_data) ⇒ Hash<Scope Object>
Create a Scope for a given Authorization Server
279 280 281 282 283 284 285 286 |
# File 'lib/simpleokta/auth_servers.rb', line 279 def create_scope(auth_server_id, scope_data) response = call_with_token( 'post', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes", scope_data ) JSON.parse(response.body) end |
#delete_claim(auth_server_id, claim_id) ⇒ Object
Delete a specific Claim defined for a given Authorization Server
383 384 385 386 387 388 |
# File 'lib/simpleokta/auth_servers.rb', line 383 def delete_claim(auth_server_id, claim_id) call_with_token( 'delete', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims/#{claim_id}" ) end |
#delete_rule(auth_server_id, policy_id, rule_id) ⇒ Object
Delete a Policy Rule for a given Policy on a given Authorization Server
237 238 239 240 241 242 |
# File 'lib/simpleokta/auth_servers.rb', line 237 def delete_rule(auth_server_id, policy_id, rule_id) call_with_token( 'delete', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules/#{rule_id}" ) end |
#delete_scope(auth_server_id, scope_id) ⇒ Object
Delete a Scope for a given Authorization Server
310 311 312 313 314 315 |
# File 'lib/simpleokta/auth_servers.rb', line 310 def delete_scope(auth_server_id, scope_id) call_with_token( 'delete', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes/#{scope_id}" ) end |
#keys(auth_server_id) ⇒ Array<Credentials Object>
Get all Keys associated with a given Authorization Server
397 398 399 400 401 402 403 |
# File 'lib/simpleokta/auth_servers.rb', line 397 def keys(auth_server_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/credentials/keys" ) JSON.parse(response.body) end |
#refresh_token(auth_server_id, client_id, token_id) ⇒ Array<Hash>
Gets a specific Refresh Token issued by an Authorization Server for a specific client
454 455 456 457 458 459 460 |
# File 'lib/simpleokta/auth_servers.rb', line 454 def refresh_token(auth_server_id, client_id, token_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens/#{token_id}" ) JSON.parse(response.body) end |
#refresh_tokens(auth_server_id, client_id) ⇒ Array<Hash>
Lists all Refresh Tokens issued by an Authorization Server for a specific client
440 441 442 443 444 445 446 |
# File 'lib/simpleokta/auth_servers.rb', line 440 def refresh_tokens(auth_server_id, client_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens" ) JSON.parse(response.body) end |
#revoke_refresh_token(auth_server_id, client_id, token_id) ⇒ Object
Revokes a specific Refresh Token issued by an Authorization Server for a specific client
481 482 483 484 485 486 487 |
# File 'lib/simpleokta/auth_servers.rb', line 481 def revoke_refresh_token(auth_server_id, client_id, token_id) response = call_with_token( 'delete', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens/#{token_id}" ) JSON.parse(response.body) end |
#revoke_refresh_tokens(auth_server_id, client_id) ⇒ Object
Revokes all Refresh Tokens issued by an Authorization Server for a specific client
467 468 469 470 471 472 473 |
# File 'lib/simpleokta/auth_servers.rb', line 467 def revoke_refresh_tokens(auth_server_id, client_id) response = call_with_token( 'delete', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/clients/#{client_id}/tokens/#{token_id}" ) JSON.parse(response.body) end |
#rotate_keys(auth_server_id) ⇒ Array<Credentials Object>
Rotate the current Keys associated with a given Authorization Server
410 411 412 413 414 415 416 417 |
# File 'lib/simpleokta/auth_servers.rb', line 410 def rotate_keys(auth_server_id) response = call_with_token( 'post', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/credentials/lifecycle/keyRotate", { 'use': 'sig' } ) JSON.parse(response.body) end |
#rule(auth_server_id, policy_id, rule_id) ⇒ Hash<Rule Object>
Get a specific Policy Rule for a given Policy on a given Authorization Server
189 190 191 192 193 194 195 |
# File 'lib/simpleokta/auth_servers.rb', line 189 def rule(auth_server_id, policy_id, rule_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules/#{rule_id}" ) JSON.parse(response.body) end |
#rules(auth_server_id, policy_id) ⇒ Array<Rule Object>
Get all Policy Rules for a given Policy on a given Authorization Server
174 175 176 177 178 179 180 |
# File 'lib/simpleokta/auth_servers.rb', line 174 def rules(auth_server_id, policy_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules" ) JSON.parse(response.body) end |
#scope(auth_server_id, scope_id) ⇒ Hash<Scope Object>
Get a specific Scope defined for a given Authorization Server
265 266 267 268 269 270 271 |
# File 'lib/simpleokta/auth_servers.rb', line 265 def scope(auth_server_id, scope_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes/#{scope_id}" ) JSON.parse(response.body) end |
#scopes(auth_server_id) ⇒ Array<Scope Object>
Get all Scopes defined for a given Authorization Server
251 252 253 254 255 256 257 |
# File 'lib/simpleokta/auth_servers.rb', line 251 def scopes(auth_server_id) response = call_with_token( 'get', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes" ) JSON.parse(response.body) end |
#update_claim(auth_server_id, claim_id, claim_data) ⇒ Hash<Claim Object>
Update a specific Claim defined for a given Authorization Server
368 369 370 371 372 373 374 375 |
# File 'lib/simpleokta/auth_servers.rb', line 368 def update_claim(auth_server_id, claim_id, claim_data) response = call_with_token( 'put', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/claims/#{claim_id}", claim_data ) JSON.parse(response.body) end |
#update_rule(auth_server_id, policy_id, rule_id, rule_data) ⇒ Hash<Rule Object>
Update a Policy Rule for a given Policy on a given Authorization Server
221 222 223 224 225 226 227 228 |
# File 'lib/simpleokta/auth_servers.rb', line 221 def update_rule(auth_server_id, policy_id, rule_id, rule_data) response = call_with_token( 'put', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/policies/#{policy_id}/rules/#{rule_id}", rule_data ) JSON.parse(response.body) end |
#update_scope(auth_server_id, scope_id, scope_data) ⇒ Hash<Scope Object>
Update a Scope for a given Authorization Server
295 296 297 298 299 300 301 302 |
# File 'lib/simpleokta/auth_servers.rb', line 295 def update_scope(auth_server_id, scope_id, scope_data) response = call_with_token( 'put', "#{Constants::AUTH_SERVER_API_BASE_PATH}/#{auth_server_id}/scopes/#{scope_id}", scope_data ) JSON.parse(response.body) end |