Class DeviceEndpoint
- java.lang.Object
-
- org.keycloak.protocol.AuthorizationEndpointBase
-
- org.keycloak.protocol.oidc.grants.device.endpoints.DeviceEndpoint
-
- All Implemented Interfaces:
Provider
,RealmResourceProvider
public class DeviceEndpoint extends AuthorizationEndpointBase implements 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(RealmModel realm, EventBuilder event)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
protected AuthenticationSessionModel
createAuthenticationSession(ClientModel client, String scope)
Object
getResource()
Returns a JAX-RS resource instance.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
-
-
-
-
Constructor Detail
-
DeviceEndpoint
public DeviceEndpoint(RealmModel realm, EventBuilder event)
-
-
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()
Description copied from interface:RealmResourceProvider
Returns a JAX-RS resource instance.
- Specified by:
getResource
in interfaceRealmResourceProvider
- Returns:
- a JAX-RS sub-resource instance
-
createAuthenticationSession
protected AuthenticationSessionModel createAuthenticationSession(ClientModel client, String scope)
- Overrides:
createAuthenticationSession
in classAuthorizationEndpointBase
-
-