Class RequestObjectPOSTRequest

  • All Implemented Interfaces:
    Message, Request

    @Immutable
    public final class RequestObjectPOSTRequest
    extends AbstractOptionallyAuthenticatedRequest
    Request object POST request.

    Example request object POST request:

     POST /requests HTTP/1.1
     Host: c2id.com
     Content-Type: application/jws
     Content-Length: 1288
    
     eyJhbGciOiJSUzI1NiIsImtpZCI6ImsyYmRjIn0.ew0KICJpc3MiOiA
     (... abbreviated for brevity ...)
     zCYIb_NMXvtTIVc1jpspnTSD7xMbpL-2QgwUsAlMGzw
     

    Related specifications:

    • Financial-grade API - Part 2: Read and Write API Security Profile, section 7.
    • The OAuth 2.0 Authorization Framework: JWT Secured Authorization Request (JAR) (draft-ietf-oauth-jwsreq-17).
    • Constructor Detail

      • RequestObjectPOSTRequest

        public RequestObjectPOSTRequest​(URI uri,
                                        com.nimbusds.jwt.JWT requestObject)
        Creates a new request object POST request.
        Parameters:
        uri - The URI of the request object endpoint. May be null if the toHTTPRequest() method will not be used.
        requestObject - The request object. Must not be null.
      • RequestObjectPOSTRequest

        public RequestObjectPOSTRequest​(URI uri,
                                        TLSClientAuthentication tlsClientAuth,
                                        net.minidev.json.JSONObject requestJSONObject)
        Creates a new request object POST request where the parameters are submitted as plain JSON object, and the client authenticates by means of mutual TLS. TLS also ensures the integrity and confidentiality of the request parameters. This method is not standard.
        Parameters:
        uri - The URI of the request object endpoint. May be null if the toHTTPRequest() method will not be used.
        tlsClientAuth - The mutual TLS client authentication. Must not be null.
        requestJSONObject - The request parameters as plain JSON object. Must not be null.
    • Method Detail

      • getRequestObject

        public com.nimbusds.jwt.JWT getRequestObject()
        Returns the request object as JWT.
        Returns:
        The request object as JWT, null if the request parameters are specified as plain JSON object instead.
      • getRequestJSONObject

        public net.minidev.json.JSONObject getRequestJSONObject()
        Returns the request object as plain JSON object.
        Returns:
        The request parameters as plain JSON object, null if the request object is specified as a JWT.
      • toHTTPRequest

        public HTTPRequest toHTTPRequest()
        Description copied from interface: Request
        Returns the matching HTTP request.
        Returns:
        The HTTP request.
      • parse

        public static RequestObjectPOSTRequest parse​(HTTPRequest httpRequest)
                                              throws ParseException
        Parses a request object POST request from the specified HTTP request.
        Parameters:
        httpRequest - The HTTP request. Must not be null.
        Returns:
        The request object POST request.
        Throws:
        ParseException - If the HTTP request couldn't be parsed to a request object POST request.