DocuSign v0.2.4 DocuSign.OAuth View Source

This module implements an oauth2 strategy for DocuSign.

Examples

client = DocuSign.OAuth2Strategy.get_token! {:ok, user_info } = OAuth2.Client.get(client, "/oauth/userinfo")

Link to this section Summary

Functions

Builds the URL to the authorization endpoint.

Create new API client

Builds the URL to the token endpoint.

Retrieve access token and return a client

Retrieve a new time to auto refresh token.

Check expiration of token return true if token is expired

Link to this section Types

Link to this type

headers()

View Source
headers() :: [{binary(), binary()}]
Link to this type

param()

View Source
param() :: binary() | %{required(binary()) => param()} | [param()]
Link to this type

params()

View Source
params() :: %{required(binary()) => param()} | Keyword.t()

Link to this section Functions

Link to this function

assertion()

View Source
assertion() :: binary() | no_return()
Link to this function

authorize_url(client, params)

View Source

Builds the URL to the authorization endpoint.

Example

def authorize_url(client, params) do
  client
  |> put_param(:response_type, "code")
  |> put_param(:client_id, client.client_id)
  |> put_param(:redirect_uri, client.redirect_uri)
  |> merge_params(params)
end

Callback implementation for `OAuth2.Strategy.authorize_url/2`.

Create new API client

Link to this function

get_token(client, params, headers)

View Source
get_token(OAuth2.Client.t(), Keyword.t(), Keyword.t()) :: binary() | no_return()

Builds the URL to the token endpoint.

Example

def get_token(client, params, headers) do
  client
  |> put_param(:code, params[:code])
  |> put_param(:grant_type, "authorization_code")
  |> put_param(:client_id, client.client_id)
  |> put_param(:client_secret, client.client_secret)
  |> put_param(:redirect_uri, client.redirect_uri)
  |> merge_params(params)
  |> put_headers(headers)
end

Callback implementation for `OAuth2.Strategy.get_token/3`.

Link to this function

get_token!(client, params \\ [], headers \\ [], opts \\ [])

View Source

Retrieve access token and return a client

Link to this function

interval_refresh_token(client)

View Source
interval_refresh_token(OAuth2.Client.t()) :: integer()

Retrieve a new time to auto refresh token.

Link to this function

refresh_token!(client, force \\ false)

View Source
refresh_token!(OAuth2.Client.t(), boolean()) :: OAuth2.Client.t()

Refresh token

Link to this function

token_expired?(token)

View Source
token_expired?(OAuth2.AccessToken.t() | nil | OAuth2.Client.t()) :: boolean()

Check expiration of token return true if token is expired