AWS Cognito Login with Web3Auth
AWS Cognito is a scalable authentication service provided by Amazon Web Services that enables developers to securely manage user sign-up, sign-in, and access control. Web3Auth supports AWS Cognito as a service provider, allowing seamless integration between AWS Cognito’s authentication capabilities and Web3Auth’s decentralized key management infrastructure.
Take a look at the supported social logins on AWS Cognito
Create an AWS Cognito Application
To begin the integration process, developers must first create a new AWS Cognito application using the AWS Management Console. This initial setup is required before configuring the connection within Web3Auth.
Once the AWS Cognito application is created, developers can proceed to add it as a custom connection in the Web3Auth Dashboard.
Learn how to set up AWS Cognito.
Create an AWS Cognito Connection
To use this feature, developers must go to the Custom Connections
tab in the
Web3Auth Dashboard.

Follow these steps to create a AWS Cognito connection:
- Visit the Web3Auth Dashboard.
- Go to the
Custom Connections
section. - Click on the
Settings
icon near theAWS Cognito
connection. - Enter the
Cognito Connection ID
. - Paste
https://cognito-idp.{REGION}.amazonaws.com/{USER_POOL_ID}/.well-known/jwks.json
asJWKS Endpoint
. - Paste a sample
JWT Token
to auto populate the best JWT validations possible. - Select the
JWT user identifier
:email
,sub
orcustom
. - Toggle the Case Sensitivity of
User Identifier
. (Optional) - Click on
Add Custom Validations
to add validations manually.- Type iss as a field and
https://cognito-idp.{REGION}.amazonaws.com/{USER_POOL_ID}
as a value. - Next, type aud as a field and
APP_CLIENT_ID
as a value.
- Type iss as a field and
- Finally, click on the
Add Connection
button.
Note: Replace the
REGION
,USER_POOL_ID
andAPP_CLIENT_ID
with your Cognito specific details.

Usage
Since, the AWS Cognito Connection
details are available from Dashboard, developers don't need to
pass any additional parameters to the Web3AuthProvider
.
Follow our Quickstart Guide to setup the basic flow.
Login with AWS Cognito
await connectTo(WALLET_CONNECTORS.AUTH, {
authConnection: AUTH_CONNECTION.CUSTOM,
authConnectionId: "w3a-cognito-demo",
extraLoginOptions: {
clientId: import.meta.env.VITE_COGNITO_CLIENT_ID,
domain: "https://shahbaz-web3auth.auth.ap-south-1.amazoncognito.com",
verifierIdField: "email",
response_type: "token",
scope: "email profile openid",
},
});