Class 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 Detail

      • logger

        protected static final org.jboss.logging.Logger logger
    • Constructor Detail

      • DeviceEndpoint

        public DeviceEndpoint​(org.keycloak.models.RealmModel realm,
                              org.keycloak.events.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()
        Specified by:
        getResource in interface org.keycloak.services.resource.RealmResourceProvider
      • close

        public void close()
        Specified by:
        close in interface org.keycloak.provider.Provider