Download OpenAPI specification:Download
OAuth2 and OIDC API used to authorize access to clients.
Note: To be able to authorize access for a client, the End-User needs to be authenticated. How Truid authenticates End-User is out of scope for this specification, but could include redirects not included here.
Pushed Authorization Request (PAR) endpoint for Identity Verification.
An OAuth2 authorization flow is started at this endpoint by a POST request from
the client backend. The response contains a request_uri
parameter that should
be used when redirecting the End-User in the User-Agent to the OAuth2 authorization endpoint.
The PAR flow is recommended over standard OAuth2 authorization request since the authorization request params are uploaded out-of-bands of the End-User request, which is typically done in a browser.
response_type required | string Value: "code" Must be set to |
client_id required | string The |
client_secret required | string The |
scope | string A set of requested scopes, as a space separated string. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
object (Claims) Claims parameter according to https://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter Note that this parameter has some Truid specific extensions,
and that the | |
redirect_uri required | string The URI used to redirect back to the client when the flow is complete. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
state required | string It is required that the client passes a state value. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
nonce | string It is recommended that the client passes a nonce value. See https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest |
code_challenge required | string It is required that the client creates a code challenge according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
code_challenge_method required | string Value: "S256" It is required that the client sends a code verifier transformation method according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
request_uri required | string A unique reference (ticket) to this request which is used in the End-User request to the OAuth2 authorization endpoint. |
expires_in required | integer <int64> Time to live in seconds for the |
{- "response_type": "code",
- "client_id": "string",
- "client_secret": "string",
- "scope": "string",
- "claims": {
- "signature": {
- "property1": {
- "essential": true
}, - "property2": {
- "essential": true
}
}
}, - "redirect_uri": "string",
- "state": "string",
- "nonce": "string",
- "code_challenge": "string",
- "code_challenge_method": "S256"
}
{- "request_uri": "asd-fdas-asdf-asdf",
- "expires_in": 120
}
Pushed Authorization Request (PAR) endpoint for Onboarding Session.
An OAuth2 authorization flow is started at this endpoint by a POST request from
the client backend. The response contains a request_uri
parameter that should
be used when redirecting the End-User in the User-Agent to the OAuth2 authorization endpoint.
The PAR flow is recommended over standard OAuth2 authorization request since the authorization request params are uploaded out-of-bands of the End-User request, which is typically done in a browser.
response_type required | string Value: "code" Must be set to |
client_id required | string The |
client_secret required | string The |
scope | string A set of requested scopes, as a space separated string. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
object (Claims) Claims parameter according to https://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter Note that this parameter has some Truid specific extensions,
and that the | |
redirect_uri required | string The URI used to redirect back to the client when the flow is complete. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
state required | string It is required that the client passes a state value. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
nonce | string It is recommended that the client passes a nonce value. See https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest |
code_challenge required | string It is required that the client creates a code challenge according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
code_challenge_method required | string Value: "S256" It is required that the client sends a code verifier transformation method according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
request_uri required | string A unique reference (ticket) to this request which is used in the End-User request to the OAuth2 authorization endpoint. |
expires_in required | integer <int64> Time to live in seconds for the |
{- "response_type": "code",
- "client_id": "string",
- "client_secret": "string",
- "scope": "string",
- "claims": {
- "signature": {
- "property1": {
- "essential": true
}, - "property2": {
- "essential": true
}
}
}, - "redirect_uri": "string",
- "state": "string",
- "nonce": "string",
- "code_challenge": "string",
- "code_challenge_method": "S256"
}
{- "request_uri": "asd-fdas-asdf-asdf",
- "expires_in": 120
}
Pushed Authorization Request (PAR) endpoint for Login Session.
An OAuth2 authorization flow is started at this endpoint by a POST request from
the client backend. The response contains a request_uri
parameter that should
be used when redirecting the End-User in the User-Agent to the OAuth2 authorization endpoint.
The PAR flow is recommended over standard OAuth2 authorization request since the authorization request params are uploaded out-of-bands of the End-User request, which is typically done in a browser.
response_type required | string Value: "code" Must be set to |
client_id required | string The |
client_secret required | string The |
scope | string A set of requested scopes, as a space separated string. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
object (Claims) Claims parameter according to https://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter Note that this parameter has some Truid specific extensions,
and that the | |
redirect_uri required | string The URI used to redirect back to the client when the flow is complete. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
state required | string It is required that the client passes a state value. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
nonce | string It is recommended that the client passes a nonce value. See https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest |
code_challenge required | string It is required that the client creates a code challenge according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
code_challenge_method required | string Value: "S256" It is required that the client sends a code verifier transformation method according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
request_uri required | string A unique reference (ticket) to this request which is used in the End-User request to the OAuth2 authorization endpoint. |
expires_in required | integer <int64> Time to live in seconds for the |
{- "response_type": "code",
- "client_id": "string",
- "client_secret": "string",
- "scope": "string",
- "claims": {
- "signature": {
- "property1": {
- "essential": true
}, - "property2": {
- "essential": true
}
}
}, - "redirect_uri": "string",
- "state": "string",
- "nonce": "string",
- "code_challenge": "string",
- "code_challenge_method": "S256"
}
{- "request_uri": "asd-fdas-asdf-asdf",
- "expires_in": 120
}
Pushed Authorization Request (PAR) endpoint for Sign Operation.
An OAuth2 authorization flow is started at this endpoint by a POST request from
the client backend. The response contains a request_uri
parameter that should
be used when redirecting the End-User in the User-Agent to the OAuth2 authorization endpoint.
The PAR flow is recommended over standard OAuth2 authorization request since the authorization request params are uploaded out-of-bands of the End-User request, which is typically done in a browser.
response_type required | string Value: "code" Must be set to |
client_id required | string The |
client_secret required | string The |
scope | string A set of requested scopes, as a space separated string. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
object (Claims) Claims parameter according to https://openid.net/specs/openid-connect-core-1_0.html#ClaimsParameter Note that this parameter has some Truid specific extensions,
and that the | |
redirect_uri required | string The URI used to redirect back to the client when the flow is complete. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
state required | string It is required that the client passes a state value. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1 |
nonce | string It is recommended that the client passes a nonce value. See https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest |
code_challenge required | string It is required that the client creates a code challenge according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
code_challenge_method required | string Value: "S256" It is required that the client sends a code verifier transformation method according to PKCE. See https://www.rfc-editor.org/rfc/rfc7636#section-4.3 |
user_message required | string <= 100 characters Human-readable message of what the End-User (signer) is about to sign and commit to. Will be displayed to the End-User and should be localized for the intended End-User. Personal and confidential data should be avoided, the End-User will be identified by other means in the signature. The The text should be plain text and not contain special characters or formatting. |
data_object_id required | string Data object identifier. Should according to ETSI be a URI uniquely identifying the data that is signed. When using This value is included in the signature as a reference, but is not used in any other way by Truid. |
data_object_digest | string Base64Url encoded digest of the data object that should be signed. Will be added to the The Example: With
With
Can only be used with See: Mechanism ObjectIdByURIHash https://www.etsi.org/deliver/etsi_ts/119100_119199/11918201/01.01.01_60/ts_11918201v010101p.pdf |
data_object_digest_algorithm | string (DigestAlgorithm) Value: "S256" Digest algorithm. The hash algorithms that shall be used according to JAdES are listed here: See: Annex E https://www.etsi.org/deliver/etsi_ts/119100_119199/11918201/01.01.01_60/ts_11918201v010101p.pdf See: 5.1 https://www.etsi.org/deliver/etsi_ts/119300_119399/119312/01.02.01_60/ts_119312v010201p.pdf |
data_object_b64 | boolean Boolean if the data object was Base64Url encoded prior to calculating the digest. Required if See: See: 5.2.8.1 https://www.etsi.org/deliver/etsi_ts/119100_119199/11918201/01.01.01_60/ts_11918201v010101p.pdf See: https://datatracker.ietf.org/doc/html/rfc7797 |
data_object_content_type | string Optional content type of the data object according to RFC2045. Will be used as the See: 5.2.8.1 https://www.etsi.org/deliver/etsi_ts/119100_119199/11918201/01.01.01_60/ts_11918201v010101p.pdf See: https://www.rfc-editor.org/rfc/rfc2045 |
signature_profile required | string (SignatureProfile) Value: "aes_jades_baseline_b-b" Defines type of signature and the requirement on long term availability and integrity of validation material.
See: 6.1 https://www.etsi.org/deliver/etsi_ts/119100_119199/11918201/01.01.01_60/ts_11918201v010101p.pdf |
jws_packaging required | string (JwsPackagingType) Value: "detached" How the JWS and its signature relates to the signed data. For JAdES there are two packaging types:
Only See: https://ec.europa.eu/digital-building-blocks/DSS/webapp-demo/doc/dss-documentation.html#Packaging |
jws_serialization required | string (JwsSerializationType) Value: "compact" How the JWS signature will be serialized when delivered. JWS signature can be serialized in three ways:
Only |
request_uri required | string A unique reference (ticket) to this request which is used in the End-User request to the OAuth2 authorization endpoint. |
expires_in required | integer <int64> Time to live in seconds for the |
{- "response_type": "code",
- "client_id": "string",
- "client_secret": "string",
- "scope": "string",
- "claims": {
- "signature": {
- "property1": {
- "essential": true
}, - "property2": {
- "essential": true
}
}
}, - "redirect_uri": "string",
- "state": "string",
- "nonce": "string",
- "code_challenge": "string",
- "code_challenge_method": "S256",
- "user_message": "string",
- "data_object_id": "string",
- "data_object_digest": "string",
- "data_object_digest_algorithm": "S256",
- "data_object_b64": true,
- "data_object_content_type": "string",
- "signature_profile": "aes_jades_baseline_b-b",
- "jws_packaging": "detached",
- "jws_serialization": "compact"
}
{- "request_uri": "asd-fdas-asdf-asdf",
- "expires_in": 120
}
Request an access token that can be used to access other resources. This is the OAuth2 token endpoint.
See: https://datatracker.ietf.org/doc/html/rfc6749#section-3.2
grant_type required | string Grant type See https://datatracker.ietf.org/doc/html/rfc6749#section-3.2 |
code required | string Code received from the authorization endpoint. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3 |
client_id required | string Identifies the client that requests the access token. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3 |
client_secret required | string Identifies the client that requests the access token. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3 |
redirect_uri required | string The URI used to redirect back to the client when the flow is complete. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3 |
code_verifier | string PKCE code verifier. Must be included if a code challenge was included in the authorize request. See https://www.rfc-editor.org/rfc/rfc7636#section-4.5 |
scope | string Optional scope string for the new access_token. Only the same scope as the original access_token are supported. See https://datatracker.ietf.org/doc/html/rfc6749#section-6 |
access_token required | |
token_type required | |
refresh_token | |
expires_in required | integer <int64> |
scope required |
{- "grant_type": "authorization_code",
- "code": "string",
- "client_id": "string",
- "client_secret": "string",
- "redirect_uri": "string",
- "code_verifier": "string",
- "scope": "string"
}
{- "access_token": "string",
- "token_type": "string",
- "refresh_token": "string",
- "expires_in": 0,
- "scope": "string"
}
Token revocation endpoint. When a user logs out the client should revoke the refresh token.
token required | string The token that the client wants to get revoked. See https://www.rfc-editor.org/rfc/rfc7009#section-2.1 |
token_type_hint | string A hint about the type of the token submitted for revocation. See https://www.rfc-editor.org/rfc/rfc7009#section-2.1 |
client_id required | string Identifies the client that requests the access token. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3 |
client_secret required | string Identifies the client that requests the access token. See https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.3 |
{- "token": "string",
- "token_type_hint": "string",
- "client_id": "string",
- "client_secret": "string"
}
{- "error": "invalid_request",
- "error_description": "string",
- "error_uri": "string"
}
OAuth2 token introspection endpoint, according to RFC-7662: https://datatracker.ietf.org/doc/html/rfc7662
token required | string |
token_type_hint | string |
null