Module: Descope::Api::V1::Management::AccessKey

Includes:
Common, Mixins::Validation
Included in:
Descope::Api::V1::Management
Defined in:
lib/descope/api/v1/management/access_key.rb

Overview

Management API calls

Constant Summary

Constants included from Common

Common::ACCESS_KEYS_SEARCH_PATH, Common::ACCESS_KEY_ACTIVATE_PATH, Common::ACCESS_KEY_CREATE_PATH, Common::ACCESS_KEY_DEACTIVATE_PATH, Common::ACCESS_KEY_DELETE_PATH, Common::ACCESS_KEY_LOAD_PATH, Common::ACCESS_KEY_UPDATE_PATH, Common::AUDIT_CREATE_EVENT, Common::AUDIT_SEARCH, Common::AUTHZ_NS_DELETE, Common::AUTHZ_NS_SAVE, Common::AUTHZ_RD_DELETE, Common::AUTHZ_RD_SAVE, Common::AUTHZ_RE_CREATE, Common::AUTHZ_RE_DELETE, Common::AUTHZ_RE_DELETE_RESOURCES, Common::AUTHZ_RE_HAS_RELATIONS, Common::AUTHZ_RE_RESOURCE, Common::AUTHZ_RE_TARGETS, Common::AUTHZ_RE_TARGET_ALL, Common::AUTHZ_RE_WHO, Common::AUTHZ_SCHEMA_DELETE, Common::AUTHZ_SCHEMA_LOAD, Common::AUTHZ_SCHEMA_SAVE, Common::FLOW_EXPORT_PATH, Common::FLOW_IMPORT_PATH, Common::FLOW_LIST_PATH, Common::GROUP_LOAD_ALL_FOR_MEMBER_PATH, Common::GROUP_LOAD_ALL_GROUP_MEMBERS_PATH, Common::GROUP_LOAD_ALL_PATH, Common::PASSWORD_SETTINGS_PATH, Common::PERMISSION_CREATE_PATH, Common::PERMISSION_DELETE_PATH, Common::PERMISSION_LOAD_ALL_PATH, Common::PERMISSION_UPDATE_PATH, Common::PROJECT_CLONE, Common::PROJECT_DELETE_PATH, Common::PROJECT_EXPORT_PATH, Common::PROJECT_IMPORT_PATH, Common::PROJECT_UPDATE_NAME, Common::ROLE_CREATE_PATH, Common::ROLE_DELETE_PATH, Common::ROLE_LOAD_ALL_PATH, Common::ROLE_SEARCH_PATH, Common::ROLE_UPDATE_PATH, Common::SCIM_GROUPS_PATH, Common::SCIM_RESOURCE_TYPES_PATH, Common::SCIM_SERVICE_PROVIDER_CONFIG_PATH, Common::SCIM_USERS_PATH, Common::SSO_APPLICATION_DELETE_PATH, Common::SSO_APPLICATION_LOAD_ALL_PATH, Common::SSO_APPLICATION_LOAD_PATH, Common::SSO_APPLICATION_OIDC_CREATE_PATH, Common::SSO_APPLICATION_OIDC_UPDATE_PATH, Common::SSO_APPLICATION_SAML_CREATE_PATH, Common::SSO_APPLICATION_SAML_UPDATE_PATH, Common::SSO_CONFIGURE_OIDC_SETTINGS_PATH, Common::SSO_CONFIGURE_SAML_METADATA_PATH, Common::SSO_CONFIGURE_SAML_SETTINGS_PATH, Common::SSO_LOAD_SETTINGS_PATH, Common::SSO_MAPPING_PATH, Common::SSO_METADATA_PATH, Common::SSO_OIDC_PATH, Common::SSO_SETTINGS_PATH, Common::TENANT_CREATE_PATH, Common::TENANT_DELETE_PATH, Common::TENANT_LOAD_ALL_PATH, Common::TENANT_LOAD_PATH, Common::TENANT_SEARCH_ALL_PATH, Common::TENANT_UPDATE_PATH, Common::TEST_USERS_SEARCH_PATH, Common::TEST_USER_CREATE_PATH, Common::THEME_EXPORT_PATH, Common::THEME_IMPORT_PATH, Common::UPDATE_JWT_PATH, Common::USERS_SEARCH_PATH, Common::USER_ADD_ROLE_PATH, Common::USER_ADD_TENANT_PATH, Common::USER_CREATE_BATCH_PATH, Common::USER_CREATE_PATH, Common::USER_DELETE_ALL_TEST_USERS_PATH, Common::USER_DELETE_PATH, Common::USER_EXPIRE_PASSWORD_PATH, Common::USER_GENERATE_EMBEDDED_LINK_PATH, Common::USER_GENERATE_ENCHANTED_LINK_FOR_TEST_PATH, Common::USER_GENERATE_MAGIC_LINK_FOR_TEST_PATH, Common::USER_GENERATE_OTP_FOR_TEST_PATH, Common::USER_GET_PROVIDER_TOKEN, Common::USER_LOAD_PATH, Common::USER_LOGOUT_PATH, Common::USER_PATCH_PATH, Common::USER_REMOVE_ROLE_PATH, Common::USER_REMOVE_TENANT_PATH, Common::USER_SEARCH_PATH, Common::USER_SET_ACTIVE_PASSWORD_PATH, Common::USER_SET_PASSWORD_PATH, Common::USER_SET_TEMPORARY_PASSWORD_PATH, Common::USER_UPDATE_CUSTOM_ATTRIBUTE_PATH, Common::USER_UPDATE_EMAIL_PATH, Common::USER_UPDATE_LOGIN_ID_PATH, Common::USER_UPDATE_NAME_PATH, Common::USER_UPDATE_PATH, Common::USER_UPDATE_PHONE_PATH, Common::USER_UPDATE_PICTURE_PATH, Common::USER_UPDATE_STATUS_PATH

Constants included from Mixins::Common

Mixins::Common::COOKIE_DATA_NAME, Mixins::Common::DEFAULT_BASE_URL, Mixins::Common::DEFAULT_JWT_VALIDATION_LEEWAY, Mixins::Common::DEFAULT_TIMEOUT_SECONDS, Mixins::Common::PHONE_REGEX, Mixins::Common::REDIRECT_LOCATION_COOKIE_NAME, Mixins::Common::REFRESH_SESSION_COOKIE_NAME, Mixins::Common::REFRESH_SESSION_TOKEN_NAME, Mixins::Common::SESSION_COOKIE_NAME, Mixins::Common::SESSION_TOKEN_NAME

Instance Method Summary collapse

Methods included from Common

#associated_tenants_to_hash_array

Methods included from Mixins::Validation

#validate_code, #validate_email, #validate_login_id, #validate_password, #validate_phone, #validate_redirect_url, #validate_refresh_token_not_nil, #validate_scim_group_id, #validate_tenant, #validate_tenants, #validate_token_not_empty, #validate_user_id, #verify_provider

Methods included from Mixins::Common

#deep_copy, #get_method_string

Instance Method Details

#access_key_compose_create_body(name, expire_time, role_names, key_tenants, custom_claims) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/descope/api/v1/management/access_key.rb', line 22

def access_key_compose_create_body(name, expire_time, role_names, key_tenants, custom_claims)
  {
    name:,
    expireTime: expire_time,
    roleNames: role_names,
    keyTenants: associated_tenants_to_hash_array(key_tenants),
    customClaims: custom_claims
  }
end

#activate_access_key(id) ⇒ Object



66
67
68
69
70
71
# File 'lib/descope/api/v1/management/access_key.rb', line 66

def activate_access_key(id)
  # Activate an existing access key. IMPORTANT: Only deactivated keys can be activated again,
  # and become usable once more. New access keys are active by default.
  # @see https://docs.descope.com/api/openapi/accesskeymanagement/operation/ActivateAccessKey/
  post(ACCESS_KEY_ACTIVATE_PATH, { id: })
end

#create_access_key(name: nil, expire_time: nil, role_names: nil, key_tenants: nil, custom_claims: nil) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/descope/api/v1/management/access_key.rb', line 12

def create_access_key(name: nil, expire_time: nil, role_names: nil, key_tenants: nil, custom_claims: nil)
  # Create a new access key.'
  # @see https://docs.descope.com/api/openapi/accesskeymanagement/operation/CreateAccessKey/

  role_names ||= []
  key_tenants ||= []
  validate_tenants(key_tenants)
  post(ACCESS_KEY_CREATE_PATH, access_key_compose_create_body(name, expire_time, role_names, key_tenants, custom_claims))
end

#deactivate_access_key(id) ⇒ Object



59
60
61
62
63
64
# File 'lib/descope/api/v1/management/access_key.rb', line 59

def deactivate_access_key(id)
  # Deactivate an existing access key. IMPORTANT: This deactivated key will not be usable from this stage.
  # It will, however, persist, and can be activated again if needed.
  # @see https://docs.descope.com/api/openapi/accesskeymanagement/operation/DeactivateAccessKey/
  post(ACCESS_KEY_DEACTIVATE_PATH, { id: })
end

#delete_access_key(id) ⇒ Object



73
74
75
76
77
# File 'lib/descope/api/v1/management/access_key.rb', line 73

def delete_access_key(id)
  # Delete an existing access key. IMPORTANT: This action is irreversible. Use carefully.
  # @see https://docs.descope.com/api/openapi/accesskeymanagement/operation/DeleteAccessKey/
  post(ACCESS_KEY_DELETE_PATH, { id: })
end

#load_access_key(id) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/descope/api/v1/management/access_key.rb', line 32

def load_access_key(id)
  # Load an access key.'
  # @param id [string] The access key id.
  # @see https://docs.descope.com/api/openapi/accesskeymanagement/operation/LoadAccessKey/

  get(ACCESS_KEY_LOAD_PATH, { id: })
end

#search_all_access_keys(tenant_ids = nil) ⇒ Object



40
41
42
43
44
45
46
47
# File 'lib/descope/api/v1/management/access_key.rb', line 40

def search_all_access_keys(tenant_ids = nil)
  # Search all access keys.'
  # @see https://docs.descope.com/api/openapi/accesskeymanagement/operation/SearchAccessKeys/
  request_params = {
    tenantIds: tenant_ids
  }
  post(ACCESS_KEYS_SEARCH_PATH, request_params)
end

#update_access_key(id: nil, name: nil) ⇒ Object



49
50
51
52
53
54
55
56
57
# File 'lib/descope/api/v1/management/access_key.rb', line 49

def update_access_key(id: nil, name: nil)
  # Update an existing access key name
  # @see https://docs.descope.com/api/openapi/accesskeymanagement/operation/UpdateAccessKey/
  request_params = {
    id:,
    name:
  }
  post(ACCESS_KEY_UPDATE_PATH, request_params)
end