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
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
.
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.
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
.
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