View Source ExOauth2Provider.Applications (ExOauth2Provider v0.5.7)

The boundary for the applications system.

Summary

Functions

Gets a single application by uid.

Gets a single application by uid.

Gets a single application for a resource owner.

Returns all applications for a owner.

Gets all authorized applications for a resource owner.

Gets a single application by uid and secret.

Revokes all access tokens for an application and resource owner.

Functions

Link to this function

change_application(application, attrs \\ %{}, config \\ [])

View Source
@spec change_application(
  ExOauth2Provider.Applications.Application.t(),
  map(),
  keyword()
) ::
  Ecto.Changeset.t()

Create application changeset.

Examples

iex> change_application(application, %{}, otp_app: :my_app)
{:ok, %OauthApplication{}}
Link to this function

create_application(owner, attrs \\ %{}, config \\ [])

View Source
@spec create_application(Ecto.Schema.t(), map(), keyword()) ::
  {:ok, ExOauth2Provider.Applications.Application.t()}
  | {:error, Ecto.Changeset.t()}

Creates an application.

Examples

iex> create_application(user, %{name: "App", redirect_uri: "http://example.com"}, otp_app: :my_app)
{:ok, %OauthApplication{}}

iex> create_application(user, %{name: ""}, otp_app: :my_app)
{:error, %Ecto.Changeset{}}
Link to this function

delete_application(application, config \\ [])

View Source

Deletes an application.

Examples

iex> delete_application(application, otp_app: :my_app)
{:ok, %OauthApplication{}}

iex> delete_application(application, otp_app: :my_app)
{:error, %Ecto.Changeset{}}
Link to this function

get_application(uid, config \\ [])

View Source
@spec get_application(
  binary(),
  keyword()
) :: ExOauth2Provider.Applications.Application.t() | nil

Gets a single application by uid.

Examples

iex> get_application("c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", otp_app: :my_app)
%OauthApplication{}

iex> get_application("75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", otp_app: :my_app)
nil
Link to this function

get_application!(uid, config \\ [])

View Source
@spec get_application!(
  binary(),
  keyword()
) :: ExOauth2Provider.Applications.Application.t() | no_return()

Gets a single application by uid.

Raises Ecto.NoResultsError if the Application does not exist.

Examples

iex> get_application!("c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", otp_app: :my_app)
%OauthApplication{}

iex> get_application!("75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", otp_app: :my_app)
** (Ecto.NoResultsError)
Link to this function

get_application_for!(resource_owner, uid, config \\ [])

View Source

Gets a single application for a resource owner.

Raises Ecto.NoResultsError if the OauthApplication does not exist for resource owner.

Examples

iex> get_application_for!(owner, "c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", otp_app: :my_app)
%OauthApplication{}

iex> get_application_for!(owner, "75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", otp_app: :my_app)
** (Ecto.NoResultsError)
Link to this function

get_applications_for(resource_owner, config \\ [])

View Source
@spec get_applications_for(
  Ecto.Schema.t(),
  keyword()
) :: [ExOauth2Provider.Applications.Application.t()]

Returns all applications for a owner.

Examples

iex> get_applications_for(resource_owner, otp_app: :my_app)
[%OauthApplication{}, ...]
Link to this function

get_authorized_applications_for(resource_owner, config \\ [])

View Source
@spec get_authorized_applications_for(
  Ecto.Schema.t(),
  keyword()
) :: [ExOauth2Provider.Applications.Application.t()]

Gets all authorized applications for a resource owner.

Examples

iex> get_authorized_applications_for(owner, otp_app: :my_app)
[%OauthApplication{},...]
Link to this function

load_application(uid, secret, config \\ [])

View Source
@spec load_application(binary(), binary(), keyword()) ::
  ExOauth2Provider.Applications.Application.t() | nil

Gets a single application by uid and secret.

Examples

iex> load_application("c341a5c7b331ef076eb4954668d54f590e0009e06b81b100191aa22c93044f3d", "SECRET", otp_app: :my_app)
%OauthApplication{}

iex> load_application("75d72f326a69444a9287ea264617058dbbfe754d7071b8eef8294cbf4e7e0fdc", "SECRET", otp_app: :my_app)
nil
Link to this function

revoke_all_access_tokens_for(application, resource_owner, config \\ [])

View Source
@spec revoke_all_access_tokens_for(
  ExOauth2Provider.Applications.Application.t(),
  Ecto.Schema.t(),
  keyword()
) :: {:ok, [{:ok, AccessToken.t()}]} | {:error, any()}

Revokes all access tokens for an application and resource owner.

Examples

iex> revoke_all_access_tokens_for(application, resource_owner, otp_app: :my_app)
{:ok, [ok: %OauthAccessToken{}]}
Link to this function

update_application(application, attrs, config \\ [])

View Source

Updates an application.

Examples

iex> update_application(application, %{name: "Updated App"}, otp_app: :my_app)
{:ok, %OauthApplication{}}

iex> update_application(application, %{name: ""}, otp_app: :my_app)
{:error, %Ecto.Changeset{}}