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.Logger
logger
-
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 void
close()
protected org.keycloak.sessions.AuthenticationSessionModel
createAuthenticationSession(org.keycloak.models.ClientModel client, String scope)
Object
getResource()
javax.ws.rs.core.Response
handleDeviceRequest()
Handles device authorization requests.javax.ws.rs.core.Response
preflight()
javax.ws.rs.core.Response
status(String error)
Showing the result of verification process for OAuth 2.0 Device Authorization Grant.javax.ws.rs.core.Response
verifyUserCode()
Verifies the code provided by the end-user and start the authentication.javax.ws.rs.core.Response
verifyUserCode(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:
getResource
in interfaceorg.keycloak.services.resource.RealmResourceProvider
-
close
public void close()
- Specified by:
close
in interfaceorg.keycloak.provider.Provider
-
createAuthenticationSession
protected org.keycloak.sessions.AuthenticationSessionModel createAuthenticationSession(org.keycloak.models.ClientModel client, String scope)
- Overrides:
createAuthenticationSession
in classAuthorizationEndpointBase
-
-