Module: Auth0::Api::V2::DeviceCredentials

Included in:
Auth0::Api::V2
Defined in:
lib/auth0/api/v2/device_credentials.rb

Overview

Methods to use the device credentials endpoints

Instance Method Summary collapse

Instance Method Details

#create_device_credential(device_name, value, device_id, client_id) ⇒ json Also known as: create_device_public_key

Creates a new device public key.

Parameters:

  • device_name (string)

    The device’s name, a value that must be easily recognized by the device’s owner.

  • value (string)

    A base64 encoded string with the value of the credential.

  • device_id (string)

    A unique identifier for the device.

  • client_id (string)

    The client_id of the client for which the credential will be created.

Returns:

  • (json)

    Returns the created public key.

Raises:

See Also:



48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/auth0/api/v2/device_credentials.rb', line 48

def create_device_credential(device_name, value, device_id, client_id)
  raise Auth0::InvalidParameter, 'Must supply a valid device_name' if device_name.to_s.empty?
  raise Auth0::InvalidParameter, 'Must supply a valid value' if value.to_s.empty?
  raise Auth0::InvalidParameter, 'Must supply a valid device_id' if device_id.to_s.empty?
  raise Auth0::InvalidParameter, 'Must supply a valid client_id' if client_id.to_s.empty?
  request_params = {
    device_name:  device_name,
    type:         'public_key',
    value:        value,
    device_id:    device_id,
    client_id:    client_id
  }
  post(device_credentials_path, request_params)
end

#delete_device_credential(id) ⇒ Object

Deletes a single device credential given its id.

Parameters:

  • id (string)

    The id of the credential to delete.

Raises:

See Also:



67
68
69
70
71
# File 'lib/auth0/api/v2/device_credentials.rb', line 67

def delete_device_credential(id)
  raise Auth0::InvalidParameter, 'Must supply a valid id' if id.to_s.empty?
  path = "#{device_credentials_path}/#{id}"
  delete(path)
end

#device_credentials(client_id = nil, options = {}) ⇒ json Also known as: list_device_credentials

Retrieves log entries that match the specified search criteria. rubocop:disable Metrics/AbcSize

Parameters:

  • client_id (string) (defaults to: nil)

    The client_id of the devices to retrieve.

  • options (hash) (defaults to: {})
    • :fields [string] A comma separated list of fields to include or exclude from the result.

    • :include_fields [boolean] True if the fields specified are to be included in the result, false otherwise.

    • :user_id [string] The user_id of the devices to retrieve.

    • :type [string] Type of credentials to retrieve. Must be ‘public_key’, ‘refresh_token’ or ‘rotating_refresh_token’

    • :page [integer] The page number. Zero based

    • :per_page [integer] The amount of entries per page

    • :include_totals [boolean] Return results inside an object that contains the total result count (true) or as a direct array of results (false, default).

Returns:

  • (json)

    Returns the list of existing devices for the specified client_id.

See Also:



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/auth0/api/v2/device_credentials.rb', line 22

def device_credentials(client_id = nil, options = {})
  request_params = {
    fields: options.fetch(:fields, nil),
    include_fields: options.fetch(:include_fields, nil),
    user_id: options.fetch(:user_id, nil),
    client_id: client_id,
    type: options.fetch(:type, nil),
    page: options.fetch(:page, nil),
    per_page: options.fetch(:per_page, nil),
    include_totals: options.fetch(:include_totals, nil)
  }
  if !request_params[:type].nil? && !%w(public_key refresh_token rotating_refresh_token).include?(request_params[:type])
    raise Auth0::InvalidParameter, 'Type must be one of \'public_key\', \'refresh_token\', \'rotating_refresh_token\''
  end
  get(device_credentials_path, request_params)
end