Integrations
This tutorial demonstrates how to integrate Idura Verify with AWS Cognito
Your AWS Cognito user pool must be configured without email as a required attribute.
Make sure you have configured an Amazon Cognito domain for your AWS Cognito user pool (in this example we picked https://idura-samples.auth.us-east-1.amazoncognito.com).
First, create a new application for your AWS Cognito tenant in Idura Verify. This is done via the Idura Dashboard.
When creating an application, register the redirect URL for your AWS Cognito Domain (https://<your-user-pool-domain>/oauth2/idpresponse).
Once the application is created, you'll need some of its details for configuring AWS Cognito to communicate with Idura Verify. Gather the following information from the application settings:
urn:idura:samples:aws:cognito for this example.acme-corp.idura.broker.If you are registering a new application, please save the initial configuration first.
After saving, you can configure the OAuth2 Code Flow for this application by following the three steps:
plainJson to enable retrieval of plain JSON user information from the /oauth2/userinfo endpoint.
Note that some libraries do not support the final userinfo request. In those cases, you will need to fetch the user data directly from the token endpoint as opposed to the userinfo endpoint. You can do this by choosing fromTokenEndpoint as a User info response strategy.
Idura Verify supports four modes for retrieving user information:
plainJson): User information is returned from the userinfo endpoint as a standard JSON object.signedJwt): User information is returned from the userinfo endpoint as a digitally signed JSON Web Token.signedAndEncryptedJwt): User information is returned from the userinfo endpoint as a signed and encrypted JSON Web Encryption(JWE) object.token endpoint, embedded in the id_token (fromTokenEndpoint). The fromTokenEndpoint flow is not standard, but can be useful if you are working with a product that does not call the userinfo endpoint.
Assuming that your Idura Verify domain is acme-corp.idura.broker, configure the fields as follows:
urn:idura:samples:aws:cognito (the Client ID/Realm value from your Idura Verify application).openid will suffice.https://acme-corp.idura.broker (the Idura domain your application is registered on).Launch the hosted UI for your AWS Cognito domain/client or perform an authorize request.
invalid token_type in idp oauth response: Make sure the User info response strategy in your Idura application settings is configured as plainJson.