View Source Boruta.Oauth.ResourceOwners behaviour (Boruta core v2.1.0)

Resource owner context

Link to this section Summary

Callbacks

Returns a list of authorized scopes for a given resource owner. These scopes will be granted is requested for the user.

Determines if given password is correct.

Returns id_token identity claims for the given resource owner

Returns a resource owner by (username, password) or (id). Returns nil for non matching results.

Link to this section Types

Specs

claims() :: %{required(String.t()) => String.t() | claims()}

Link to this section Callbacks

Link to this callback

authorized_scopes(resource_owner)

View Source

Specs

authorized_scopes(resource_owner :: Boruta.Oauth.ResourceOwner.t()) :: [
  Boruta.Oauth.Scope.t()
]

Returns a list of authorized scopes for a given resource owner. These scopes will be granted is requested for the user.

Link to this callback

check_password(resource_owner, password)

View Source

Specs

check_password(
  resource_owner :: Boruta.Oauth.ResourceOwner.t(),
  password :: String.t()
) :: :ok | {:error, String.t()}

Determines if given password is correct.

Link to this callback

claims(resource_owner, scope)

View Source (optional)

Specs

claims(resource_owner :: Boruta.Oauth.ResourceOwner.t(), scope :: String.t()) ::
  claims :: claims()

Returns id_token identity claims for the given resource owner

Specs

get_by([{:username, String.t()}] | [{:sub, String.t()}]) ::
  {:ok, resource_owner :: Boruta.Oauth.ResourceOwner.t()} | {:error, String.t()}

Returns a resource owner by (username, password) or (id). Returns nil for non matching results.