ID.me OAuth Provider

Descope provides the flexibility to add custom Social Login (OAuth) providers, including ID.me as an identity provider. This guide will help you configure a custom ID.me OAuth/OIDC provider within the Descope platform.

Creating the ID.me Application

Before integrating the custom OAuth provider in Descope, you must first set up your application on ID.me.

Access ID.me Developer Portal

Go to the ID.me developer portal and select Create application +.

ID.me create application

Configuring Application Details

Add your application's details:

  1. Application Name: Specify app name.
  2. Display name: Specify a user-friendly name to display during the sign-in flow.
  3. Redirect URI: This is where users will be redirected after completing authentication. Set the redirect URI to be https://<your-base-url>/v1/oauth/callback.

Note

You can find your project's base url in our Multi-Region Support Guide.

Below is an example of an application configuration in ID.me:

ID.me create application configuration

Creating Descope Custom Provider

In Descope, navigate to the Customize Authentication Methods page and add a new custom provider by selecting + Provider -> Custom. For this example, we will name the provider ID.me.

Configure Account Settings

The values needed to configure Descope can be found in your ID.me application under the Integration tab. In your Descope provider, i the account settings:

  • Client ID: Use the Client ID from the ID.me application.
  • Client Secret: Use the Client secret from the ID.me application.
  • Scopes: The minimum required scopes for using ID.me for login are openid and login. If you need to request other scopes based on the authentication scenario, you can add them here. A full list of supported scopes can be found here.

Note

Some scopes must also be enabled in your ID.me integration before Descope can request them.

Custom ID.me OAuth provider account settings configured within Descope

Configure Connection Settings

Depending on whether you are using the developers.id.me Production environment, developers.id.me Sandbox environment, or the developers.idmelabs.com Sandbox environment, the base URL for the OAuth endpoints will differ.

EnvironmentOAuth domain
developers.id.me Productionapi.id.me
developers.id.me Sandboxapi.id.me
developers.idmelabs.com Sandboxapi.idmelabs.com

You will need to input the OIDC endpoints that come from the ID.me well known configuration. Replace BASE_DOMAIN with the OAuth domain for your environment from the table above. The values you will need to input in the Console are listed below.

SettingValue
Discovery URLhttps://<BASE_DOMAIN>/oidc/.well-known/openid-configuration
Issuerhttps://<BASE_DOMAIN>/oidc
Authorization Endpointhttps://<BASE_DOMAIN>/oauth/authorize
Token Endpointhttps://<BASE_DOMAIN>/oauth/token
User Info Endpointhttps://<BASE_DOMAIN>/api/public/v3/userinfo
JWKS Endpointhttps://<BASE_DOMAIN>/oidc/.well-known/jwks

Below is an example of the production well-known configuration values:

Custom ID.me OAuth provider connection settings configured within Descope

Note

You can optionally enable PKCE in the Descope configuration for an additional layer of security.

Configure User Attribute Mapping

Map the necessary user attributes based on the information provided by the ID.me user info endpoint. For example, email and name.

Custom ID.me OAuth provider user attribute mapping configured within Descope

For more OAuth provider settings information, check out the OAuth Settings Guide. To add ID.me Social Login to your flow, check out our Social Login In Flows Guide.

Was this helpful?

On this page