I'm curious if AWS Cognito is still a recommended solution for user authentication these days. Are there any significant pros or cons to using it that I should be aware of? Personally, I've heard mixed reviews, and I want to understand if it's worth it or if I should consider other options instead.
6 Answers
It all depends on your needs. If it fits well in your stack, it can be a solid choice. However, some users find it a real pain to set up and the learning curve can be steep. If you don’t need deep AWS integration, there might be easier options out there.
I mean, why wouldn’t it be recommended? But I did have some rough experiences with it in the past. Migrating user pools or backing them up was pretty clunky for me, and the documentation often felt outdated. Others out there are more feature-rich and don’t lock you into one platform.
Honestly, I wouldn’t go with Cognito unless you’re tight on budget. Setting up SMS MFA is a hassle, requiring SES approval and additional steps, which is frustrating.
Cognito has potential, but I really dislike its API. It's sophisticated, but customizing the Hosted UI is a struggle. Plus, I had to recreate a User Pool once, and that was a nightmare—user IDs got messed up and I had to change everything in my database manually.
Wow, that sounds complicated! How did you handle syncing those IDs in the database after the fact?
From what I know, Cognito is generally cheaper than other third-party options like Okta or Auth0, especially since it integrates well with AWS services like ALBs and API Gateways. For most application use cases on AWS, it could be a go-to ID provider.
Do you have any simple examples of how you set up an ID provider with Cognito? I’m really interested!
Cognito can feel pretty limiting, especially with its OIDC compliance issues, and it's not user-friendly in my opinion. I'd recommend checking out alternatives that may suit your needs better.

Yeah, I’ve also heard that Firebase Auth is a cheaper alternative. Might be worth looking into!