Interface OAuth2GrantType
- All Superinterfaces:
Provider
- All Known Implementing Classes:
AuthorizationCodeGrantType,CibaGrantType,ClientCredentialsGrantType,DeviceGrantType,JWTAuthorizationGrantType,OAuth2GrantTypeBase,PermissionGrantType,PreAuthorizedCodeGrantType,RefreshTokenGrantType,ResourceOwnerPasswordCredentialsGrantType,TokenExchangeGrantType
Provider interface for OAuth 2.0 grant types
- Author:
- Dmitry Telegin
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionReturns the event type associated with this OAuth 2.0 grant type.Name of the "token" parameters, which this grant type supports.default booleanisTokenAllowed(KeycloakSession session, AccessToken token) Check if the token issued from this grant type is allowed for the current request.jakarta.ws.rs.core.Responseprocess(OAuth2GrantType.Context context) Processes grant request.
-
Method Details
-
getEventType
EventType getEventType()Returns the event type associated with this OAuth 2.0 grant type.- Returns:
- event type
-
getSupportedMultivaluedRequestParameters
- Returns:
- request parameters, which can be duplicated for the particular grant type. The grant request is typically rejected if request contains multiple values of some parameter, which is not listed here
-
getTokenParameterNames
Name of the "token" parameters, which this grant type supports. As 'token' parameter is considered a parameter containing possibly long token (for example big JWT or SAML assertion) with unbounded data (For example possibly big amount of roles inside JWT). Example of such parameter is for example 'subject_token' parameter case of token exchange grant.- Returns:
- set of strings with the "token" parameters supported by this grant type
-
process
Processes grant request.- Parameters:
context- grant request context- Returns:
- token response
-
isTokenAllowed
Check if the token issued from this grant type is allowed for the current request. This allows grant types to restrict token usage to specific endpoints or contexts. The default implementation returnstrue, meaning tokens are allowed at all endpoints. Grant types that need to restrict token usage (e.g., pre-authorized code tokens that should only be accepted at the credential endpoint) should override this method to implement specific endpoint restrictions.- Parameters:
session- the Keycloak sessiontoken- the access token- Returns:
- true if the token is allowed for the current request, false otherwise
-