Authorization Request
GET /oauth/oidc/authorize
Initiate the Authorization Code + PKCE flow. This endpoint should be opened in the user's browser. The user will complete identity onboarding as needed, then be redirected to the redirect_uri with an authorization code parameter.
Steps
- Generate PKCE
code_verifier(43-128 unreserved characters) - Compute
code_challengeasBASE64URL(SHA256(code_verifier)) - Redirect user's browser to this endpoint
- User completes identity verification
- User is redirected to
redirect_uriwithcodeandstateparameters - Exchange
codeat the token endpoint
Parameters
| Name | In | Required | Description |
|---|---|---|---|
response_type |
query | yes | Must be |
client_id |
query | yes | OIDC Client ID issued to the RP. |
redirect_uri |
query | yes | Registered redirect URI for the client. |
scope |
query | yes | Space-separated list of requested scopes. Must include Example: |
state |
query | yes | Opaque value for CSRF protection. Returned unchanged in the callback. |
nonce |
query | no | Random value to associate the ID token with the client session. |
code_challenge |
query | yes | PKCE code challenge derived from the code verifier using S256. |
code_challenge_method |
query | yes | Must be |
claims |
query | no | URL-encoded JSON object specifying requested claims. Supports two namespaces. Standard OIDC claimsStandard scopes ( TrueVault claims ( |
ruleset |
query | no | Identity verification ruleset to apply. Determines the minimum document and verification requirements for the onboarding session. Must be in the client's allowed rulesets. Falls back to the client's default ruleset if not provided. Example: |
aobo |
query | no | Acting On Behalf Of — delegation UID. When provided, the request is made under a delegation relationship, allowing one RP to act on behalf of another. The delegation must be valid and include the |
phone |
query | no | Pre-seed the user's phone number for the onboarding session. Must be provided with Example: |
phone_country_code |
query | no | Country code for the pre-seeded phone number (e.g. Example: |
email |
query | no | Pre-seed the user's email address for the onboarding session. Example: |
Responses
| Status | Description |
|---|---|
302 Found | Redirect to identity verification flow. After completion, the user is redirected to |
400 Bad Request | Invalid request parameters |
Content type application/json
OAuthError (400)
| Field | Type | Required | Description |
|---|---|---|---|
error |
string | no | Error code as defined in RFC 6749. |
error_description |
string | no | Human-readable error description. |
Example 400 response
{
"error": "invalid_grant",
"error_description": "The authorization code has expired or is invalid."
}
Example request
curl --request GET \
--url https://sandbox.truevault.com.au/oauth/oidc/authorize