Class CredentialIssuerMetadataResponse

  • All Implemented Interfaces:
    Serializable

    public class CredentialIssuerMetadataResponse
    extends ApiResponse
    Response from Authlete's /vci/metadata API.

    The Authlete API is supposed to be used from within the implementation of the credential issuer metadata endpoint (/.well-known/openid-credential-issuer).

    Authlete's /vci/metadata API returns JSON which can be mapped to this class. The credential issuer 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 credential issuer metadata successfully.

    In this case, the implementation of the credential issuer metadata endpoint (/.well-known/openid-credential-issuer) of the credential issuer should return an HTTP response with the HTTP status code "200 OK" and the content type "application/json". The message body of the response has been prepared by Authlete's /vci/metadata API and it is available as the responseContent response parameter.

    The implementation of the credential issuer metadata endpoint can construct an HTTP response by doing like below.

     200 OK
     Content-Type: application/json
     (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 Verifiable Credentials and so the credential issuer metadata endpoint should not be accessed.

    In this case, the implementation of the credential issuer metadata endpoint of the credential issuer should return an HTTP response 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 /vci/metadata API and it is available as the responseContent response parameter.

    The implementation of the credential issuer metadata 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.

    In this case, a simple implementation of the credential issuer metadata endpoint would return an HTTP response 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 /vci/metadata API and it is available as the responseContent response parameter.

    Such simple implementation of the credential issuer metadata 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 a credential issuer to return "500 Internal Server Error" when it encounters an unexpected internal error. It's up to implementations of credential issuers what they actually return in the case of internal server error.

    Since:
    3.55, Authlete 3.0
    See Also:
    OpenID for Verifiable Credential Issuance, Serialized Form
    • Constructor Detail

      • CredentialIssuerMetadataResponse

        public CredentialIssuerMetadataResponse()
    • Method Detail

      • getAction

        public CredentialIssuerMetadataResponse.Action getAction()
        Get the next action that the implementation of the credential issuer metadata endpoint should take after getting a response from Authlete's /vci/metadata API.
        Returns:
        The next action.
      • getResponseContent

        public String getResponseContent()
        Get the content that the implementation of the credential issuer metadata endpoint should use when it constructs a response.
        Returns:
        The response content in the JSON format.
      • setResponseContent

        public CredentialIssuerMetadataResponse setResponseContent​(String content)
        Set the content that the implementation of the credential issuer metadata endpoint should use when it constructs a response.
        Parameters:
        content - The response content in the JSON format.
        Returns:
        this object.