User Sign up ==> Account is auto confirmed ==> a custom email is send to email to verify email ==> user can login without verifying email since its account is already confirmed.
When user click on the link his email is verified.
Above is the user signup flow that I want. Till now, I'm verifiying the account by trigger a lambda in cognito's presignup trigger. However, using this way, email is not triggered. So I'm verifying account from signup lambda itself using adminConfirmSignup method. Now we user click on link, we get error that account is already verified, but I want its email to be verified whne the link is clicked.
My Current Solution:
Confirm the user account by adminConfirmSignup, and send the api gateway link contains username / client_id / confirmation code instead of default link. The Api gateway will point to a lambda where I'll confirm the code and update the user'email attribute, but how can I verify the confirmation_code?
Is there any other solution available?
Also the custom email that is being send to the user, I'm including a button and a click eventlistener in it, event listener seems to be not working. Any reason?
Related
I am implementing a SAAS software where my customers will be able to send email using their custom from email. I am using AWS SES.
I created a custom email template and can send the email. User click on the link and email gets verified. But how my system will be updated when user click and verify the email?
boto3 API: send_custom_verification_email
You can subscribe to ses events (click, open, etc). There are different ways to consume event — SNS, CloudWatch, etc.
https://docs.aws.amazon.com/ses/latest/dg/monitor-sending-activity.html
As for verifying the email, it depends, if you're using a third-party service then it should handle it for you. If not, then you'd have to handle it yourself in the backend, you can redirect the user to the page and verify in the backend.
I am currently working on a which requires two emails to sign up. The first email is a personal or social account and AWS Amplify sends a verification link to verify the email. However, Users need to add a second email (edu email) to verify they are going to a school. Is there a way to add this second email as an attribute and get amplify to send a verification link?
this is app is being made in flutter if it makes a difference.
After a user confirms their email, we want to run a Post Confirmation Lambda in AWS.
This lambda will store the user's email and password to a database that is separate from Cognito, so we need to fetch these credentials from AWS.
We believe it should be possible from the event object, but we can't find anything about this in the official documentation.
Is it possible to fetch a user's email and password from AWS from within a Post Confirmation Lambda?
After inspecting vars(context) and event, it seems that it is impossible to get a user's password from within the post confirmation lambda itself, as these objects do not contain it.
Thanks to everyone who helped.
I have an app with AWS Cognito auth implemented using Amplify. I do not want users to be able to sign up, instead the admin will sign up users via the AWS Cognito user pool console, by creating a new user.
I have created a custom attribute for users for a AWS Cognito userpool. I want to assign a value to that attribute for a user either when creating the user or after the user is created.
I cannot see how to fill in any values for attributes for a user when creating a user in the AWS Coginto user pool console.
When opening a created user in the console, I do not see how to add values for attributes for that user.
I have probably missed something in the Docs, but can someone tell me how to add values for attributes (including custom ones) for a user created in the AWS Cognito userpool console.
This is very simple solution.
Cognito console doesn't allow to input custom attributes or required any attributes by admin. This is norm because the user's info should be filled by himself.
So This is the workflow how this invitation auth flow would work in Cognito:
The admin creates new user in the console by inputting username, temp password only(He can chooses whether to send a verification email or not and auto-verified phone number or email upon creating)
Cognito will send the invitation email to the user with verification code or link codeParameter (If you would use custom message Lambda trigger trigger for this use case, you can customize the email message and put the username and temporary password along together).
At this point, you should include URL to redirect the user to your app's update password page.
In this update page, you should let him to input any required attributes himself and change password to complete the signup (In Cognito console, you should configure any attributes you need to get upon signup as required).
Here is the helpful link for you to review in order to understand how to complete the signup with Cognito by Amplify Lib:
https://docs.amplify.aws/lib/auth/manageusers/q/platform/js#complete-new-password
Cheers
Actually, I want to send bulk email using Amazone SES and I was stuck in verification of Receiver's Email Addresses.
So, can you ple.showing us the way how we can do it us without verifying the Receivers Email Id's ?
When you create a new account in SES, it goes to something called sandbox account which requires recipient email address verification.
You can submit a support ticket to get your account out of sandbox. Once you are not in sandbox account, you will not be required to verify recipient email addresses.
You can view the documentation to get your account out of sandbox at https://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html