src/main/java/com/authlete/jaxrs/BackchannelAuthenticationRequestHandler.java
public Response handle(
            MultivaluedMap<String, String> parameters, String authorization,
            String[] clientCertificatePath) throws WebApplicationException
    {
        // Convert the value of Authorization header (credentials of
        // the client application), if any, into BasicCredentials.
        BasicCredentials credentials = BasicCredentials.parse(authorization);

        // The credentials of the client application extracted from
        // 'Authorization' header. These may be null.
        String clientId     = credentials == null ? null : credentials.getUserId();
        String clientSecret = credentials == null ? null : credentials.getPassword();

        try
        {
            // Process the given parameters.
            return process(parameters, clientId, clientSecret, clientCertificatePath);
        }
        catch (WebApplicationException e)
        {
            throw e;
        }
        catch (Throwable t)
        {
            // Unexpected error.
            throw unexpected("Unexpected error in BackchannelAuthenticationRequest", t);
        }
    }
public Response handle(
            MultivaluedMap<String, String> parameters, String authorization,
            String[] clientCertificatePath) throws WebApplicationException
    {
        // Convert the value of Authorization header (credentials of
        // the client application), if any, into BasicCredentials.
        BasicCredentials credentials = BasicCredentials.parse(authorization);

        // The credentials of the client application extracted from
        // 'Authorization' header. These may be null.
        String clientId     = credentials == null ? null : credentials.getUserId();
        String clientSecret = credentials == null ? null : credentials.getPassword();

        try
        {
            // Process the given parameters.
            return process(parameters, clientId, clientSecret, clientCertificatePath);
        }
        catch (WebApplicationException e)
        {
            throw e;
        }
        catch (Throwable t)
        {
            // Unexpected error.
            throw unexpected("Unexpected error in BackchannelAuthenticationRequest", t);
        }
    }
Handle a backchannel authentication request to a backchannel authentication
endpoint of CIBA (Client Initiated Backchannel Authentication).

@param parameters
Request parameters of a backchannel authentication request.

@param authorization
The value of {@code Authorization} header in the backchannel authentication
request. A client application may embed its pair of client ID and
client secret in a backchannel authentication request using <a href=
"https://tools.ietf.org/html/rfc2617#section-2">Basic
Authentication</a>.

@param 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 {@code null}
if the client did not send a certificate or path.

@return
A response that should be returned from the endpoint to the
client application.

@throws WebApplicationException
An error occurred.