Class: Auth0::DeviceCredentials::Client
- Inherits:
-
Object
- Object
- Auth0::DeviceCredentials::Client
- Defined in:
- lib/auth0/device_credentials/client.rb
Instance Method Summary collapse
-
#create_public_key(request_options: {}, **params) ⇒ Auth0::Types::CreatePublicKeyDeviceCredentialResponseContent
Create a device credential public key to manage refresh token rotation for a given
user_id. -
#delete(request_options: {}, **params) ⇒ untyped
Permanently delete a device credential (such as a refresh token or public key) with the given ID.
- #initialize(client:) ⇒ void constructor
-
#list(request_options: {}, **params) ⇒ Auth0::Types::ListDeviceCredentialsOffsetPaginatedResponseContent
Retrieve device credential information (
public_key,refresh_token, orrotating_refresh_token) associated with a specific user.
Constructor Details
#initialize(client:) ⇒ void
9 10 11 |
# File 'lib/auth0/device_credentials/client.rb', line 9 def initialize(client:) @client = client end |
Instance Method Details
#create_public_key(request_options: {}, **params) ⇒ Auth0::Types::CreatePublicKeyDeviceCredentialResponseContent
Create a device credential public key to manage refresh token rotation for a given user_id. Device Credentials APIs are designed for ad-hoc administrative use only and paging is by default enabled for GET requests.
When refresh token rotation is enabled, the endpoint becomes consistent. For more information, read <a href=“auth0.com/docs/get-started/tenant-settings/signing-keys”> Signing Keys</a>.
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/auth0/device_credentials/client.rb', line 92 def create_public_key(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "POST", path: "device-credentials", body: Auth0::DeviceCredentials::Types::CreatePublicKeyDeviceCredentialRequestContent.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Auth0::Types::CreatePublicKeyDeviceCredentialResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#delete(request_options: {}, **params) ⇒ untyped
Permanently delete a device credential (such as a refresh token or public key) with the given ID.
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/auth0/device_credentials/client.rb', line 127 def delete(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "DELETE", path: "device-credentials/#{URI.encode_uri_component(params[:id].to_s)}", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |
#list(request_options: {}, **params) ⇒ Auth0::Types::ListDeviceCredentialsOffsetPaginatedResponseContent
Retrieve device credential information (public_key, refresh_token, or rotating_refresh_token) associated with a specific user.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/auth0/device_credentials/client.rb', line 33 def list(request_options: {}, **params) params = Auth0::Internal::Types::Utils.normalize_keys(params) query_param_names = %i[page per_page include_totals fields include_fields user_id client_id type] query_params = {} query_params["page"] = params.fetch(:page, 0) query_params["per_page"] = params.fetch(:per_page, 50) query_params["include_totals"] = params.fetch(:include_totals, true) query_params["fields"] = params[:fields] if params.key?(:fields) query_params["include_fields"] = params[:include_fields] if params.key?(:include_fields) query_params["user_id"] = params[:user_id] if params.key?(:user_id) query_params["client_id"] = params[:client_id] if params.key?(:client_id) query_params["type"] = params[:type] if params.key?(:type) params.except(*query_param_names) Auth0::Internal::OffsetItemIterator.new( initial_page: query_params["page"], item_field: :device_credentials, has_next_field: nil, step: true ) do |next_page| query_params["page"] = next_page request = Auth0::Internal::JSON::Request.new( base_url: [:base_url], method: "GET", path: "device-credentials", query: query_params, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Auth0::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Auth0::Types::ListDeviceCredentialsOffsetPaginatedResponseContent.load(response.body) else error_class = Auth0::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end end |