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
Fields Modifier and Type Field Description protected static org.jboss.logging.Loggerlogger-
Fields inherited from class org.keycloak.protocol.AuthorizationEndpointBase
APP_INITIATED_FLOW, authManager, clientConnection, event, headers, httpRequest, realm, session
-
-
Constructor Summary
Constructors Constructor Description DeviceEndpoint(org.keycloak.models.RealmModel realm, org.keycloak.events.EventBuilder event)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected org.keycloak.sessions.AuthenticationSessionModelcreateAuthenticationSession(org.keycloak.models.ClientModel client, String scope)ObjectgetResource()javax.ws.rs.core.ResponsehandleDeviceRequest()Handles device authorization requests.javax.ws.rs.core.Responsepreflight()javax.ws.rs.core.Responsestatus(String error)Showing the result of verification process for OAuth 2.0 Device Authorization Grant.javax.ws.rs.core.ResponseverifyUserCode()Verifies the code provided by the end-user and start the authentication.javax.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
-
-
-
-
Method Detail
-
handleDeviceRequest
@Path("") @POST @Consumes("application/x-www-form-urlencoded") @Produces("application/json") public javax.ws.rs.core.Response handleDeviceRequest()Handles device authorization requests.- Returns:
- the device authorization response.
-
preflight
@OPTIONS public javax.ws.rs.core.Response preflight()
-
verifyUserCode
@GET public javax.ws.rs.core.Response verifyUserCode(@QueryParam("user_code") String userCode)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 javax.ws.rs.core.Response verifyUserCode()Verifies the code provided by the end-user and start the authentication.- Returns:
-
status
@Path("status") @GET public javax.ws.rs.core.Response status(@QueryParam("error") String error)Showing the result of verification process for OAuth 2.0 Device Authorization Grant. This outputs login success or failure messages.- Parameters:
error-- Returns:
-
getResource
public Object 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
-
-