AWS Cognito: A good solution for a B2C web/and mobile apps having simple Authentication needs. Not for B2B SaaS use-cases.
Use Cases and Deployment Scope
We use it for Authentication and Authorization of the mobile applications, and middleware that we write for our enterprise customers. We also evaluated it for the use-case of Federated Identity integration to other IDP solutions like Microsoft ActiveDirectory, etc. We also use it to enable MFA on a few web apps.
Pros
- Easy to set-up.
- Easy to configure the UserPools, and the Identity Pools.
- Seamless Integration with AWS services like Lambda, IAM, etc.
- Cheaper than other providers.
Cons
- SCIM implementation is not present.
- B2B SaaS use-cases are very hard to configure. More suitable or B2C use-cases.
- Needs more recipes, plugins, SDK's.
- 2FA with Email as an OTP channel is not supported.
- 2 FA using biometrics is not available; can be customised using lambda.
Likelihood to Recommend
<b><u>Well Suited</u></b>
<ol><li> B2C mobile and web apps with a high number of users. </li><li> Cheaper and cost-effective. </li><li> If the other pieces of the infra are already using AWS services like Lambda, S3, Pinpoint, etc. </li></ol><span style="letter-spacing: -0.6px; word-spacing: -0.75px;"><b>Not Suited For:</b>
</span><ol><li><span style="letter-spacing: -0.6px; word-spacing: -0.75px;"> Advanced use-cases (Biometrics based authentication) Email, and other MFA channels. </span></li><li><span style="letter-spacing: -0.6px; word-spacing: -0.75px;"> For any use-cases needing SCIM. </span></li><li><span style="letter-spacing: -0.6px; word-spacing: -0.75px;"> Customized flows of SSO, and MFA will need a layer on Lambda and other AWS services.</span></li></ol><span style="letter-spacing: -0.6px; word-spacing: -0.75px;">
</span>