This documentation is dedicated to the use of "OAuth2" Identity provider. This section describes the SSO setup for an Amazon developer account.
Create a new Amazon developer account.
- Add OAuth2 Identity Provider
- Populate
clientId
andclientSecret
with the values obtained from the Amazon developer account. - Add
https://www.amazon.com/ap/oa
to Authorization URL. - Add
https://api.amazon.com/auth/o2/token
to Token URL. - In the
Advanced Settings
section add theprofile
scope.
/**
* Available variables:
* realm - the current realm.
* session - the current keycloakSession.
* accessToken - the authentication session accessToken.
*/
var SimpleHttp = Java.type('org.keycloak.broker.provider.util.SimpleHttp');
var BrokeredUserProfile = Java.type('io.phasetwo.keycloak.oauth2idp.model.BrokeredUserProfile');
/**
Use SimpleHttp from Keycloak class to perform http calls to profile endpoint
*/
var response = SimpleHttp.doGet("https://api.amazon.com/user/profile", session)
.param("access_token", accessToken)
.asString();
/**
parse response into a JS object
*/
var identity = JSON.parse(response);
/**
Create the standard profile for user.
*/
var profile = new BrokeredUserProfile();
profile.setEmail(identity.email);
profile.setUsername(identity.user_id);
profile.setFirstName(identity.name);
profile.setLastName(identity.name);
profile.setMappingContext(identity);
/**
return profile
*/
profile;