- Newest
- Most votes
- Most comments
To authorize users from an external app like your Bubble.io application to access AWS services such as Amazon Rekognition, the best approach would be to use Amazon Cognito with identity pools. This solution is well-suited for your scenario and provides a secure way to grant temporary, limited-privilege AWS credentials to your users.
Here's how you can implement this:
-
Set up an Amazon Cognito identity pool. This pool can support both authenticated and unauthenticated users.
-
Configure your Bubble.io app as an external identity provider for the Cognito identity pool. This allows users authenticated by your Bubble.io app to obtain temporary AWS credentials.
-
When a user authenticates in your Bubble.io app and needs to access AWS services (like Rekognition for face liveness detection), your app would request temporary AWS credentials from the Cognito identity pool.
-
Use these temporary credentials to make API calls to AWS services on behalf of the user.
This approach allows you to maintain user authentication in your Bubble.io app while securely accessing AWS services. It eliminates the need for users to separately authenticate with AWS, providing a seamless experience.
For the Face Liveness Detector component, you can still use it by deploying it with AWS Amplify and incorporating it into your Bubble.io app as you described. The key is to pass the temporary credentials obtained from Cognito to this component when initializing it.
To implement this:
-
Create an IAM role with the necessary permissions to access Rekognition and other required AWS services.
-
Associate this role with your Cognito identity pool.
-
In your Bubble.io app, when you need to use AWS services, request temporary credentials from Cognito.
-
Pass these credentials to your React component (Face Liveness Detector) when you initialize it in your Bubble.io plugin.
This solution allows you to maintain your user management in Bubble.io while securely accessing AWS services, providing a smooth, integrated experience for your users without requiring them to reauthenticate or manage separate AWS credentials.
Remember to properly secure your application and follow AWS best practices for handling credentials and permissions.
Sources
Common Amazon Cognito scenarios - Amazon Cognito
Access to externally authenticated users (identity federation) - AWS Identity and Access Management
Amazon Rekognition – frequently asked questions - AWS
answered 2 years ago
Relevant content
asked 2 years ago
asked 3 years ago
- AWS OFFICIALUpdated a year ago

Thank you. But it is not clear to me how I can apply the point 2 and 3 (of the first list in your answer), i.e. how I can configure my Bubble.io app as an external identity provider for the Cognito identity pool and how my app would request temporary AWS credentials from the Cognito identity pool.