Class FederationConfigurationResponse

  • All Implemented Interfaces:
    Serializable

    public class FederationConfigurationResponse
    extends ApiResponse
    Response from Authlete's /federation/configuration API.

    Authlete's /federation/configuration API returns JSON which can be mapped to this class. The authorization server implementation should retrieve the value of the action response parameter from the API response and take the following steps according to the value.

    OK

    When the value of the action response parameter is OK, it means that Authlete could prepare an entity configuration successfully.

    In this case, the implementation of the entity configuration endpoint of the authorization server should return an HTTP response to the client application with the HTTP status code "200 OK" and the content type "application/entity-statement+jwt". The message body (= an entity configuration in the JWT format) of the response has been prepared by Authlete's /federation/configuration API and it is available as the responseContent response parameter.

    The implementation of the entity configuration endpoint can construct an HTTP response by doing like below.

     200 OK
     Content-Type: application/entity-statement+jwt
     (Other HTTP headers)
    
     (the value of the responseContent response parameter)

    NOT_FOUND

    When the value of the action response parameter is NOT_FOUND, it means that the service configuration has not enabled the feature of OpenID Federation 1.0 and so the client application should have not access the entity configuration endpoint.

    In this case, the implementation of the entity configuration endpoint of the authorization server should return an HTTP response to the client application with the HTTP status code "404 Not Found" and the content type "application/json". The message body (= error information in the JSON format) of the response has been prepared by Authlete's /federation/configuration API and it is available as the responseContent response parameter.

    The implementation of the entity configuration endpoint can construct an HTTP response by doing like below.

     404 Not Found
     Content-Type: application/json
     (Other HTTP headers)
    
     (the value of the responseContent response parameter)

    INTERNAL_SERVER_ERROR

    When the value of the action response parameter is INTERNAL_SERVER_ERROR, it means that an unexpected error has occurred on Authlete side or the service has not been set up properly yet. For example, when a JWK Set for federation (Service.federationJwks) has not been setup, when authority hints (Service.authorityHints) have not been setup, etc.

    In this case, a simple implementation of the entity configuration endpoint would return an HTTP response to the client application with the HTTP status code "500 Internal Server Error" and the content type "application/json". The message body (= error information in the JSON format) of the response has been prepared by Authlete's /federation/configuration API and it is available as the responseContent response parameter.

    Such simple implementation of the entity configuration endpoint can construct an HTTP response by doing like below.

     500 Internal Server Error
     Content-Type: application/json
     (Other HTTP headers)
    
     (the value of the responseContent response parameter)

    However, in real commercial deployments, it is rare for an authorization server to return "500 Internal Server Error" when it encounters an unexpected internal error. It's up to implementations of authorization servers what they actually return to client applications in the case of internal server error.

    Since:
    3.31, Authlete 2.3
    See Also:
    OpenID Federation 1.0, Serialized Form
    • Constructor Detail

      • FederationConfigurationResponse

        public FederationConfigurationResponse()
    • Method Detail

      • getAction

        public FederationConfigurationResponse.Action getAction()
        Get the next action that the implementation of the entity configuration endpoint should take after getting a response from Authlete's /federation/configuration API.
        Returns:
        The next action.
      • getResponseContent

        public String getResponseContent()
        Get the content that the implementation of the entity configuration endpoint should use when it constructs a response to the client application.

        The format of the content varies depending on the value of the action response parameter.

        Returns:
        The content that should be returned to the client application.
      • setResponseContent

        public FederationConfigurationResponse setResponseContent​(String content)
        Set the content that the implementation of the entity configuration endpoint should use when it constructs a response to the client application.

        The format of the content varies depending on the value of the action response parameter.

        Parameters:
        content - The content that should be returned to the client application.
        Returns:
        this object.