Class DeviceEndpoint
java.lang.Object
org.keycloak.protocol.AuthorizationEndpointBase
org.keycloak.protocol.oidc.grants.device.endpoints.DeviceEndpoint
- All Implemented Interfaces:
org.keycloak.provider.Provider,org.keycloak.services.resource.RealmResourceProvider
public class DeviceEndpoint
extends AuthorizationEndpointBase
implements org.keycloak.services.resource.RealmResourceProvider
- Author:
- Hiroyuki Wada
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final org.jboss.logging.Loggerstatic final StringFields inherited from class org.keycloak.protocol.AuthorizationEndpointBase
APP_INITIATED_FLOW, authManager, clientConnection, event, headers, httpRequest, realm, session -
Constructor Summary
ConstructorsConstructorDescriptionDeviceEndpoint(org.keycloak.models.KeycloakSession session, org.keycloak.events.EventBuilder event) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()protected org.keycloak.sessions.AuthenticationSessionModelcreateAuthenticationSession(org.keycloak.models.ClientModel client, String scope) static org.keycloak.models.OAuth2DeviceCodeModelgetDeviceByUserCode(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, String userCode) jakarta.ws.rs.core.ResponseHandles device authorization requests.jakarta.ws.rs.core.Responsejakarta.ws.rs.core.ResponseShowing the result of verification process for OAuth 2.0 Device Authorization Grant.jakarta.ws.rs.core.ResponseVerifies the code provided by the end-user and start the authentication.jakarta.ws.rs.core.ResponseverifyUserCode(String userCode) This endpoint is used by end-users to start the flow to authorize a device.Methods inherited from class org.keycloak.protocol.AuthorizationEndpointBase
checkRealm, checkSsl, createProcessor, getAuthenticationFlow, handleBrowserAuthenticationRequest
-
Field Details
-
logger
protected static final org.jboss.logging.Logger logger -
SHORT_VERIFICATION_URI
- See Also:
-
-
Constructor Details
-
DeviceEndpoint
public DeviceEndpoint(org.keycloak.models.KeycloakSession session, org.keycloak.events.EventBuilder event)
-
-
Method Details
-
handleDeviceRequest
@Path("") @POST @Consumes("application/x-www-form-urlencoded") @Produces("application/json") public jakarta.ws.rs.core.Response handleDeviceRequest()Handles device authorization requests.- Returns:
- the device authorization response.
-
preflight
@OPTIONS public jakarta.ws.rs.core.Response preflight() -
verifyUserCode
This endpoint is used by end-users to start the flow to authorize a device.- Parameters:
userCode- the user code to authorize- Returns:
-
verifyUserCode
@Path("/") @POST @Consumes("application/x-www-form-urlencoded") public jakarta.ws.rs.core.Response verifyUserCode()Verifies the code provided by the end-user and start the authentication.- Returns:
-
status
Showing the result of verification process for OAuth 2.0 Device Authorization Grant. This outputs login success or failure messages.- Parameters:
error-- Returns:
-
getDeviceByUserCode
public static org.keycloak.models.OAuth2DeviceCodeModel getDeviceByUserCode(org.keycloak.models.KeycloakSession session, org.keycloak.models.RealmModel realm, String userCode) -
getResource
- Specified by:
getResourcein interfaceorg.keycloak.services.resource.RealmResourceProvider
-
close
public void close()- Specified by:
closein interfaceorg.keycloak.provider.Provider
-
createAuthenticationSession
protected org.keycloak.sessions.AuthenticationSessionModel createAuthenticationSession(org.keycloak.models.ClientModel client, String scope) - Overrides:
createAuthenticationSessionin classAuthorizationEndpointBase
-