class MagicAdmin::Resource::User

The user resource and its methods are accessible on the Magic instance by the User attribute. It provides methods to interact with the User.

Attributes

magic[R]

attribute reader for magic client object

Public Class Methods

new(magic) click to toggle source

The constructor allows you to create user object when your application interacting with the Magic API

Arguments:

magic: A Magic object.

Returns:

A user object that provides access to all the supported resources.

Examples:

User.new(<magic>)
# File lib/magic-admin/resource/user.rb, line 26
def initialize(magic)
  @magic = magic
end

Public Instance Methods

get_metadata_by_issuer(issuer) click to toggle source

Description:

Method Retrieves information about the user by
the supplied issuer

Arguments:

issuer: Extracted iss component of DID Token generated by a Magic user
  on the client-side.

Returns:

Metadata information about the user
# File lib/magic-admin/resource/user.rb, line 40
def get_metadata_by_issuer(issuer)
  headers = MagicAdmin::Util.headers(magic.secret_key)
  options = { params: { issuer: issuer }, headers: headers }
  magic.http_client
       .call(:get, "/v1/admin/auth/user/get", options)
end
get_metadata_by_public_address(public_address) click to toggle source

Description:

Method Retrieves information about the user by
the supplied public_address

Arguments:

public_address: Extracted The user's Ethereum public address component
  of DID Token generated by a Magic user on the client-side.

Returns:

Metadata information about the user
# File lib/magic-admin/resource/user.rb, line 57
def get_metadata_by_public_address(public_address)
  issuer = token.construct_issuer_with_public_address(public_address)
  get_metadata_by_issuer(issuer)
end
get_metadata_by_token(did_token) click to toggle source

Description:

Method Retrieves information about the user by
the supplied DID Token

Arguments:

did_token: A DID Token generated by a Magic user on the client-side.

Returns:

Metadata information about the user
# File lib/magic-admin/resource/user.rb, line 71
def get_metadata_by_token(did_token)
  issuer = token.get_issuer(did_token)
  get_metadata_by_issuer(issuer)
end
logout_by_issuer(issuer) click to toggle source

Description:

Method logs a user out of all Magic SDK sessions by
the supplied issuer

Arguments:

issuer: Extracted iss component of DID Token generated by a Magic user
  on the client-side.

Returns:

Magic Response
# File lib/magic-admin/resource/user.rb, line 86
def logout_by_issuer(issuer)
  headers = MagicAdmin::Util.headers(magic.secret_key)
  options = { params: { issuer: issuer }, headers: headers }
  magic.http_client
       .call(:post, "/v2/admin/auth/user/logout", options)
end
logout_by_public_address(public_address) click to toggle source

Description:

Method logs a user out of all Magic SDK sessions by
the supplied public_address

Arguments:

public_address: Extracted the user's Ethereum public address component
of DID Token generated by a Magic user on the client-side.

Returns:

Magic Response
# File lib/magic-admin/resource/user.rb, line 103
def logout_by_public_address(public_address)
  issuer = token.construct_issuer_with_public_address(public_address)
  logout_by_issuer(issuer)
end
logout_by_token(did_token) click to toggle source

Description:

Method logs a user out of all Magic SDK sessions by
the supplied DID Token

Arguments:

did_token: A DID Token generated by a Magic user on the client-side.

Returns:

Magic Response
# File lib/magic-admin/resource/user.rb, line 117
def logout_by_token(did_token)
  issuer = token.get_issuer(did_token)
  logout_by_issuer(issuer)
end

Private Instance Methods

token() click to toggle source
# File lib/magic-admin/resource/user.rb, line 124
def token
  magic.token
end