Class DeviceAuthorizationRequestHandler


  • public class DeviceAuthorizationRequestHandler
    extends Object
    Handler for device authorization requests in OAuth 2.0 Device Authorization Grant (Device Flow).

    In an implementation of device authorization endpoint, call handle(Params) method and use the response as the response from the endpoint to the client application. handle() method calls Authlete's /device/authorization API, receives a response from the API, and dispatches processing according to the action parameter in the response.

    Since:
    2.18
    Author:
    Hideki Ikeda
    See Also:
    RFC 8628: OAuth 2.0 Device Authorization Grant
    • Constructor Detail

      • DeviceAuthorizationRequestHandler

        public DeviceAuthorizationRequestHandler​(com.authlete.common.api.AuthleteApi api)
        Constructor with an implementation of AuthleteApi interface and an implementation of DeviceAuthorizationRequestHandlerSpi interface.
        Parameters:
        api - Implementation of AuthleteApi interface.
    • Method Detail

      • handle

        public javax.ws.rs.core.Response handle​(javax.ws.rs.core.MultivaluedMap<String,​String> parameters,
                                                String authorization,
                                                String[] clientCertificatePath)
                                         throws javax.ws.rs.WebApplicationException
        Handler for device authorization requests in OAuth 2.0 Device Authorization Grant (Device Flow).
        Parameters:
        parameters - Request parameters of a device authorization request.
        authorization - The value of Authorization header in the device authorization request. A client application may embed its pair of client ID and client secret in a device authorization request using Basic Authentication.
        clientCertificatePath - The path of the client's certificate, each in PEM format. The first item in the array is the client's certificate itself. May be null if the client did not send a certificate or path.
        Returns:
        A response that should be returned from the endpoint to the client application.
        Throws:
        javax.ws.rs.WebApplicationException - An error occurred.
      • handle

        public javax.ws.rs.core.Response handle​(DeviceAuthorizationRequestHandler.Params params)
        Handle a device authorization request.
        Parameters:
        params - Parameters for Authlete's /device/authorization API.
        Returns:
        A response that should be returned from the endpoint to the client application.
        Since:
        2.79
      • getApiCaller

        protected com.authlete.jaxrs.AuthleteApiCaller getApiCaller()
      • unexpected

        protected javax.ws.rs.InternalServerErrorException unexpected​(String message,
                                                                      Throwable cause)