Language support

Configure your application to invoke ID.me verification flows in specific languages

Overview

This guide provides steps to integrate language support into your ID.me integration, allowing you to direct users to ID.me verification flows in their preferred language.

Intended audience

Developers and IAM administrators responsible for configuring the user experience for ID.me integrations.

What you will build

A configuration that dynamically loads the ID.me verification interface in a specific language based on the user’s preference.

Result

Users are presented with the ID.me verification interface in their selected language (for example, Spanish, Chinese, or Vietnamese).

Example flow

The following steps outline the authentication flow when a specific language is requested:

1

The user selects their preferred language within your application

2

Your application constructs the ID.me authorization URL, inserting the corresponding language code into the endpoint path

3

Your application redirects the user to the modified ID.me endpoint

4

The user views the ID.me verification screens in their selected language

5

The user completes authentication and identity verification at ID.me

6

ID.me redirects the user back to your application

Supported languages

Use the following codes to target specific languages.

LanguageCode
Englishen
Armenianhy
Chinese Simplifiedzh-Hans
Chinese Traditionalzh
French Canadianfr-CA`
Haitian Creoleht
Hindihi
Japaneseja
Khmerkm
Koreanko
Spanishes
Tagalogtl
Thaith
Vietnamesevi
Arabicar
Bengalibn
Farsifa
Italianit
Polishpl
Punjabipa
Russianru
Yiddishyi

Prerequisites

  • An existing ID.me integration (OIDC, OAuth 2.0, or SAML)
  • Ability to modify the authorization endpoint URL in your application logic
  • An ID.me sandbox account for testing your integration
  • Understanding of OIDC flows and terminology

Environments

ID.me provides two environments:

All ID.me OIDC and SAML endpoints are derived from the base URL above. For production, replace the sandbox base URL in every ID.me endpoint you configure.

Examples

OIDC issuer (Sandbox): https://api.idmelabs.com/oidc
OIDC issuer (Production): https://api.id.me/oidc
SAML metadata URL (Sandbox): https://api.idmelabs.com/saml/metadata
SAML metadata URL (Production): https://api.id.me/saml/metadata

Configure your application

Construct the localized authorization endpoint

To load straight into a specific language, you must use the appropriate language code in the authorization endpoint path.

1

Identify the base authorization URL for your integration (e.g., https://api.idmelabs.com/oauth/authorize)

2

Insert the desired language code immediately after the domain and before the oauth or oidc path segment.

Format: https://api.idmelabs.com/<language_code>/oauth/authorize Example (Spanish): https://api.idmelabs.com/es/oauth/authorize

3

Append your standard OIDC/OAuth parameters (client_id, redirect_uri, response_type, scope, etc.) to the URL.

https://api.idmelabs.com/en/oauth/authorize?client_id=[client_id]&redirect_uri=[redirect_URI]&response_type=code&scope=[handle] text

Track language preference (optional)

Integration protocol standards such as OAuth 2.0, OIDC, and SAML offer parameters that can be used to track items such as language during the round-trip and display the appropriate language for the user on upon successful redirection from ID.me. 

OAuth 2.0 / OIDC

Use the state parameter. This value is passed in the authorization endpoint and returned when receiving the grant token.

Example: &state=[VARIABLE]

SAML

Use the RelayState parameter. This is an optional parameter that can be included and will be passed back with the user.