gandalf v0.2.0 Gandalf.GrantType.AuthorizationCode
AuthorizationCode grant type for OAuth2 Authorization Server
Summary
Functions
Authorize client for ‘resource owner’ using client credentials and authorization code
Functions
Authorize client for ‘resource owner’ using client credentials and authorization code.
For authorization, authorize function requires a map contains ‘client_id’,
‘client_secret’, ‘redirect_uri’(must match with authorization code token’s),
and ‘code’ keys. With valid credentials; it automatically creates
access_token and refresh_token(if enabled via config) then it returns
Gandalf.Model.Token
struct, otherwise {:error, Map, :http_status_code}
.
Examples
# With OAuth2 optional scope
Gandalf.GrantType.AuthorizationCode.authorize(%{
"client_id" => "52024ca6-cf1d-4a9d-bfb6-9bc5023ad56e",
"client_secret" => "Wi7Y_Q5LU4iIwJArgqXq2Q",
"redirect_uri" => "http://localhost:4000/oauth2/callbacks",
"code" => "W_hb8JEDmeYChsNfOGCmbQ",
"scope" => "read"
%})
# Without OAuth2 optional scope
Gandalf.GrantType.AuthorizationCode.authorize(%{
"client_id" => "52024ca6-cf1d-4a9d-bfb6-9bc5023ad56e",
"client_secret" => "Wi7Y_Q5LU4iIwJArgqXq2Q",
"redirect_uri" => "http://localhost:4000/oauth2/callbacks",
"code" => "W_hb8JEDmeYChsNfOGCmbQ"
%})