Client ID for which authentication is requested. For pushed authorization requests (PAR), the client ID should match the ID of the client that initiated the PAR flow.
OIDC and OAuth 2.0
OpenID Connect (OIDC) extends the authentication and authorization mechanisms of OAuth 2.0 with identity-focused security features like ID tokens and user profiles. Mosaic supports an OIDC-based integration option for hosted login using secure FIDO2 WebAuthn biometrics, and social providers like Google, Facebook, Apple, and LINE.
Decoupled authentication flows are supported using Client-Initiated Backchannel Authentication (CIBA) or using the OAuth Device Flow for input-limited devices.
Required for authorization code flow. URI to redirect to upon completion of the authentication flow. This is the server GET endpoint used to call the token endpoint, and should accept code as a query parameter. This URI must also be configured as an allowed redirect URI in the Mosaic Admin Portal
Required for authorization code flow. Scope of the requested access. Used to request specific user details like email. Must include openid and can include additional values (space delimited). offline_access scope allows refreshing access tokens.
Required for authorization code flow. Response type requested for the authentication flow.
For authorization code flow. Space-delimited, case-sensitive list of string values that specifies whether the Authorization Server prompts the end-user for reauthentication and consent.
| Enum Value | Description |
|---|---|
| login | Prompts the user to authenticate. |
| consent | Prompts the user for consent if required. Must be passed to receive a refresh token and when trying to perform silent authentication to the app you haven't logged in before. |
| none | Checks for an existing session (and consent if required). Used for silent authentication to the same app as initially logged in to. |
For authorization code flow. A random value that is included in the authentication request from the client (e.g. browser) to mitigate replay attacks. It will be added to the id_token and the backend service should only accept id_tokens that include the same nonce value as the one included in the original request.
For authorization code flow. An opaque string that is used to maintain state between the request and the callback. It will be added to the redirect URI as a query parameter, which should be validated by your server to protect against cross-site request forgery (CSRF) attacks
Required for authorization code flow with PKCE. A hashed value of the 'code_verifier' required for PKCE
Required for authorization code flow with PKCE. The hashing mechanism used to transform a code_verifier into the code_challenge in PKCE flows, must be 'S256'
For authorization code flow. Resource URI the authentication request is attempting to access, which is reflected in the audience (aud claim) of the access token. This must be configured as resource for the application.
For authorization code flow. A stringified object used to request additional claims in the ID token, such as roles, permissions, and other user profile data. The structure is per the OIDC Standard. For supported claims and how to request custom claims, see the ID Token Reference. Note: You should stringify the value.
For authorization code flow. Requested ACR values, specified as a space-separated string. The acr claim of the resulting ID token will indicate which requirements were satisfied.
| Enum Value | Description |
|---|---|
| mfa | Requires multi-factor authentication. If it isn't satisfied, an error is returned indicating how to satisfy it via email/SMS authentication. |
| phone_number | Requires a verified phone number for a WebAuthn login. If it isn't yet verified, an SMS verification process will occur. |
| urn:transmit:google_direct | Requires Google authentication method to be used for this process. |
| urn:transmit:apple_direct | Requires Apple authentication method to be used for this process. |
| urn:transmit:facebook_direct | Requires Facebook authentication method to be used for this process. |
| urn:transmit:line_direct | Requires Line authentication method to be used for this process. |
| urn:transmit:centralized | Requires centralized authentication method to be used for this process, |
For authorization code flow. Indicates if a new user should be created if one doesn't already exist (or associated with the app if the user isn't already). Public sign up must be enabled for this application.
For authorization code flow. Hint for the user's login identifier for WebAuthn login.
For authorization code flow. Custom message to present on the consent screens for WebAuthn login, which provides authentication context details.
For authorization code flow. Preferred languages for the user interface for WebAuthn login, specified as a space-separated list of language tag values [RFC5646], ordered by preference.
Required for PAR flow. The URI returned by the PAR request. The request_uri value is bound to the client that sent the PAR authorization request.
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/auth
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/auth
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/auth
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.transmitsecurity.io/cis/oidc/auth?client_id=string&redirect_uri=string&scope=openid&response_type=code&prompt=login&nonce=string&state=string&code_challenge=string&code_challenge_method=string&resource=string&claims={%22id_token%22%3A{%22roles%22%3Anull}}&acr_values=mfa&createNewUser=false&login_hint=user%40acme.com&custom_message=Welcome+to+Acme&ui_locales=string&org_id=string&request_uri=string&loginType=google-direct'Request
Start a backchannel authentication process (See CIBA spec). The request can either be used to obtain a direct link (for example, to embed in a QR code) or to send the user a link by SMS or email. When opened, this link will initiate an authentication process. The request returns the authentication request ID that will be used to complete the process on the authenticating device (by calling /auth/backchannel/complete) and obtain the token. If the link channel was specified, the response will also include the link.
Scope of the requested access. Used to request specific user details like email. Must include openid and can include additional values (space delimited). offline_access scope allows refreshing access tokens.
Identifier of a user for whom authentication is requested (email, phone or user_id)
A message intended to be displayed on both consumption and authentication devices so the end-user can see how they are interconnected for the transaction.
The message needs to be 1 - 20 characters in length and should contain only digits, alphabet and the characters: -._+/!?#
A stringify object that contains more data about the request
example of object:
{
"channel": "email",
"login_hint_type": "email",
"custom_message": "click on the following link to approve the access: "
}Note: You should stringify the value.
| property | description |
|---|---|
| channel | The channel to use for triggering the authentication device, one of the values: sms (default), email, link |
| login_hint_type | The login_hint identifier type, one of the values: phone (default), email, user_id |
| custom_message | Custom message to be sent when triggering the authentication device (default: To verify it's you, click this link:) |
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/backchannel
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/backchannel
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/backchannel
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X POST \
https://api.transmitsecurity.io/cis/oidc/backchannel \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d client_id=string \
-d client_secret=string \
-d scope=openid \
-d login_hint=string \
-d binding_message=string \
-d requested_expiry=600 \
-d 'request_context={"channel": "email", "login_hint_type": "email", "custom_message": "click on the following link to approve the access: "}'{ "auth_req_id": "string", "expires_in": 600 }
Request
Initiate the device flow (See OAuth 2.0 Device Authorization Grant (RFC 8628)). This call returns a user code and verification URI for the user to approve or deny access on a separate device. Additionally, a device code is provided to obtain the token.
Scope of the requested access. Used to request specific user details like email. Must include openid and can include additional values (space delimited). offline_access scope allows refreshing access tokens.
Requested ACR values, specified as a space-separated string. The acr claim of the resulting ID token will indicate which requirements were satisfied.
| Enum Value | Description |
|---|---|
| urn:transmit:google_direct | Requires Google authentication method to be used for this process. |
| urn:transmit:apple_direct | Requires Apple authentication method to be used for this process. |
| urn:transmit:facebook_direct | Requires Facebook authentication method to be used for this process. |
| urn:transmit:line_direct | Requires Line authentication method to be used for this process. |
| urn:transmit:centralized | Requires centralized authentication method to be used for this process, |
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/device/auth
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/device/auth
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/device/auth
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X POST \
https://api.transmitsecurity.io/cis/oidc/device/auth \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d client_id=string \
-d client_secret=string \
-d scope=openid \
-d loginType=google-direct \
-d acr_values=urn:transmit:google_direct{ "device_code": "string", "user_code": "string", "verification_uri": "string", "verification_uri_complete": "string", "expires_in": 600 }
Request
Retrieves tokens in various OIDC/OAuth flows. It's used to retrieve an ID token and user access token upon successful user authentication (for an authorization code flow), or to retrieve client access tokens for API authorization (in a client credentials flow).
- AuthCodeRequest
- AuthCodeRequestWithPKCE
- ClientCredsRequest
- CIBATokenRequest
- DeviceTokenRequest
- PasswordRequest
- DelegatedAccessRequest
- RefreshTokenRequest
Should be set to authorization_code to identify users upon successful authentication.
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/token
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/token
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/token
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X POST \
https://api.transmitsecurity.io/cis/oidc/token \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d client_id=string \
-d client_secret=string \
-d code=string \
-d grant_type=authorization_code \
-d redirect_uri=string{ "access_token": "string", "id_token": "string", "expires_in": 3600, "scope": "string", "token_type": "string", "refresh_token": "string" }
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/token/revocation
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/token/revocation
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/token/revocation
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X POST \
https://api.transmitsecurity.io/cis/oidc/token/revocation \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d client_id=string \
-d client_secret=string \
-d token=string \
-d token_type_hint=access_tokenRequest
Terminates all the user’s active sessions for this tenant. Note that running this call does not revoke valid access tokens or refresh tokens. See OIDC RP-Initiated Logout
Recommended. Client ID initiating the logout request. If not passed, our default logout success page will be shown instead.
Previously issued ID Token passed as a hint about the user's current authenticated session with the client.
Recommended. URI to which the user should be redirected after the logout has been performed. If not passed, our default logout success page will be shown instead. This URI must be configured in the client’s allowed redirect URIs.
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/session/end
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/session/end
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/session/end
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
'https://api.transmitsecurity.io/cis/oidc/session/end?client_id=string&id_token_hint=string&post_logout_redirect_uri=string&state=string'No contentRequest
Returns the signing key used to validate the signature of the authorization request (per OIDC spec)
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/jwks
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/jwks
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/jwks
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
https://api.transmitsecurity.io/cis/oidc/jwksRequest
Get all metadata for the OIDC server, including paths to relevant endpoints. (see OIDC spec)
- Production environment (US)https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
- Production environment (EU)https://api.eu.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
- Production environment (CA)https://api.ca.transmitsecurity.io/cis/oidc/.well-known/openid-configuration
- cURL
- Node.js
- Go
- JavaScript
- Java
- Python
curl -i -X GET \
https://api.transmitsecurity.io/cis/oidc/.well-known/openid-configuration