Package org.keycloak.social.microsoft
Class MicrosoftIdentityProvider
- java.lang.Object
-
- org.keycloak.broker.provider.AbstractIdentityProvider<C>
-
- org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
-
- org.keycloak.social.microsoft.MicrosoftIdentityProvider
-
- All Implemented Interfaces:
org.keycloak.broker.provider.ExchangeExternalToken
,org.keycloak.broker.provider.ExchangeTokenToIdentityProviderToken
,org.keycloak.broker.provider.IdentityProvider
,org.keycloak.broker.social.SocialIdentityProvider
,org.keycloak.provider.Provider
public class MicrosoftIdentityProvider extends AbstractOAuth2IdentityProvider implements org.keycloak.broker.social.SocialIdentityProvider
Identity provider for Microsoft account. Uses OAuth 2 protocol of Microsoft Graph as documented at https://docs.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/graph-oauth- Author:
- Vlastimil Elias (velias at redhat dot com)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
AbstractOAuth2IdentityProvider.Endpoint
-
-
Field Summary
Fields Modifier and Type Field Description static String
AUTH_URL
static String
DEFAULT_SCOPE
static String
PROFILE_URL
static String
TOKEN_URL
-
Fields inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
ACCESS_DENIED, FEDERATED_REFRESH_TOKEN, FEDERATED_TOKEN_EXPIRATION, logger, mapper, OAUTH2_GRANT_TYPE_AUTHORIZATION_CODE, OAUTH2_GRANT_TYPE_REFRESH_TOKEN, OAUTH2_PARAMETER_ACCESS_TOKEN, OAUTH2_PARAMETER_CLIENT_ID, OAUTH2_PARAMETER_CLIENT_SECRET, OAUTH2_PARAMETER_CODE, OAUTH2_PARAMETER_GRANT_TYPE, OAUTH2_PARAMETER_REDIRECT_URI, OAUTH2_PARAMETER_RESPONSE_TYPE, OAUTH2_PARAMETER_SCOPE, OAUTH2_PARAMETER_STATE
-
-
Constructor Summary
Constructors Constructor Description MicrosoftIdentityProvider(org.keycloak.models.KeycloakSession session, OAuth2IdentityProviderConfig config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected org.keycloak.broker.provider.BrokeredIdentityContext
doGetFederatedIdentity(String accessToken)
protected org.keycloak.broker.provider.BrokeredIdentityContext
extractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode profile)
protected String
getDefaultScopes()
protected String
getProfileEndpointForValidation(org.keycloak.events.EventBuilder event)
protected boolean
supportsExternalExchange()
-
Methods inherited from class org.keycloak.broker.oidc.AbstractOAuth2IdentityProvider
asJsonNode, authenticateTokenRequest, authenticationFinished, buildUserInfoRequest, callback, createAuthorizationUrl, exchangeExternal, exchangeExternalComplete, exchangeExternalImpl, exchangeExternalUserInfoValidationOnly, exchangeFromToken, exchangeSessionToken, exchangeStoredToken, extractTokenFromResponse, generateToken, getAccessTokenResponseParameter, getConfig, getFederatedIdentity, getJsonProperty, getSignatureContext, hasExternalExchangeToken, isIssuer, performLogin, retrieveToken, validateExternalTokenThroughUserInfo
-
Methods inherited from class org.keycloak.broker.provider.AbstractIdentityProvider
backchannelLogout, close, exchangeErrorResponse, exchangeNotLinked, exchangeNotLinkedNoStore, exchangeNotSupported, exchangeTokenExpired, exchangeUnsupportedRequiredType, export, getLinkingUrl, getMarshaller, importNewUser, keycloakInitiatedBrowserLogout, preprocessFederatedIdentity, updateBrokeredUser
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
-
-
Field Detail
-
AUTH_URL
public static final String AUTH_URL
- See Also:
- Constant Field Values
-
TOKEN_URL
public static final String TOKEN_URL
- See Also:
- Constant Field Values
-
PROFILE_URL
public static final String PROFILE_URL
- See Also:
- Constant Field Values
-
DEFAULT_SCOPE
public static final String DEFAULT_SCOPE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
MicrosoftIdentityProvider
public MicrosoftIdentityProvider(org.keycloak.models.KeycloakSession session, OAuth2IdentityProviderConfig config)
-
-
Method Detail
-
supportsExternalExchange
protected boolean supportsExternalExchange()
- Overrides:
supportsExternalExchange
in classAbstractOAuth2IdentityProvider
-
getProfileEndpointForValidation
protected String getProfileEndpointForValidation(org.keycloak.events.EventBuilder event)
- Overrides:
getProfileEndpointForValidation
in classAbstractOAuth2IdentityProvider
-
doGetFederatedIdentity
protected org.keycloak.broker.provider.BrokeredIdentityContext doGetFederatedIdentity(String accessToken)
- Overrides:
doGetFederatedIdentity
in classAbstractOAuth2IdentityProvider
-
extractIdentityFromProfile
protected org.keycloak.broker.provider.BrokeredIdentityContext extractIdentityFromProfile(org.keycloak.events.EventBuilder event, com.fasterxml.jackson.databind.JsonNode profile)
- Overrides:
extractIdentityFromProfile
in classAbstractOAuth2IdentityProvider
-
getDefaultScopes
protected String getDefaultScopes()
- Specified by:
getDefaultScopes
in classAbstractOAuth2IdentityProvider
-
-