Ueberauth EVE SSO v0.1.0 Ueberauth.Strategy.EVESSO.OAuth View Source

An implementation of OAuth2 for EVE SSO

To add your client_id and client_secret include these values in your configuration.

config :ueberauth, Ueberauth.Strategy.EVESSO.OAuth,
  client_id: System.get_env("EVESSO_CLIENT_ID"),
  client_secret: System.get_env("EVESSO_SECRET_KEY")

Link to this section Summary

Functions

Builds the URL to the authorization endpoint.

Provides the authorize url for the request phase of Ueberauth. No need to call this directly usually.

Construct a client for requests to EVE SSO

Builds the URL to the token endpoint.

Decodes the JWT locally and retrieves the user information held within.

Link to this section Functions

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.

Link to this function

authorize_url!(params \\ [], opts \\ [])

View Source

Provides the authorize url for the request phase of Ueberauth. No need to call this directly usually.

Construct a client for requests to EVE SSO

Optionally include any OAuth2 options here to be merged with the defaults.

Ueberauth.Strategy.EVESSO.OAuth.client(redired_uri: "http://localhost:4000/auth/evesso/callback")

This will be set up automatically for you in Ueberauth.Strategy.EVESSO. These options are only useful for usage outside the normal callback phase of Ueberauth.

Link to this function

get(token, url, headers \\ [], opts \\ [])

View Source
Link to this function

get_token(client, params, headers)

View Source

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!(params \\ [], options \\ [])

View Source

Decodes the JWT locally and retrieves the user information held within.

More work could be done here to actually validate the token, see ESI docs for details