Ethereum Wallet
Descope allows you to create custom Social Login (OAuth) providers within the Authentication Methods page. This guide covers the step by step configuration of a custom Ethereum Wallet OAuth provider.
Obtain Ethereum Client ID and Secret
Before creating the custom OAuth provider within the Descope console, you must obtain a Ethereum Client ID and Secret.
To obtain a Client ID and Secret, run the curl command below. You can find your project's base url in our Multi-Region Support Guide.
The response will look something like this which includes the Client ID, secret, access token, and Client URI.
Creating Descope Custom Provider
You can configure a custom provider in the Descope Console. Under Authentication Methods -> Social Login, select + Add custom provider
in the top right corner. You can
then set the name (in this case, "Ethereum"), logo, and description for your custom provider.
Configure Account Settings
Within the account settings section of your provider, you will configure the following items:
Client ID
: This is the Client ID from the response in the above curl.Client Secret
: This is the Client Secret from the response in the above curl.Scopes
: These are the configured scopes granted to Descope for the user within Ethereum. Scopes provides Ethereum users using third-party apps the confidence that only the information they choose to share will be shared. The minimum needed scopes for Descope to integrate with Ethereum areopenid
andprofile
.Grant Type
: Authorization Code grant type uses the default configured response method, while implicit is set to use the Form Post response method with "id_token" response type only.
Configure Connection Settings
Within the account settings section of your provider, you will configure the following items:
Authorization Endpoint
: The endpoint to request authorization from the user. For Ethereum, this endpoint ishttps://oidc.login.xyz/authorize
Token Endpoint
: The endpoint to exchange the authorization code for an access token. For Ethereum this endpoint ishttps://oidc.login.xyz/token
User Info Endpoint
: The endpoint to get user details for attribute mapping. For Ethereum, this endpoint ishttps://oidc.login.xyz/userinfo
Note, these items can be found by running the below curl against the well known OpenID configuration URL.
The response will look something like this which includes well known OpenID configuration items.
Once configured within the Descope console, your Connection Settings will look like the below.
Configure User Attribute Mapping
These are the available claims supported by Ethereum:
You can map sub
, preferred_username
, and picture
to Descope attributes. See below
for an example of the configured user attribute mapping.
For more OAuth provider settings information, check out the OAuth Settings Guide. To add Ethereum Social Login to your flow, check out our Social Login In Flows Guide.