The Pros And Cons Of Using AWS Cognito For User Authentication

AWS Cognito is one of the offerings that had at the Amazon cloud platform. Using this provider without any difficulty can join it with different to be had offerings on AWS along with API Gateway, AppSync, or Lambdas. It can keep personal information like given name, own circle of relatives name, electronic mail, username, password, and some other information which your customers generally preserve within the web or mobile software.

The Pros And Cons Of Using AWS Cognito For User Authentication

AWS cognito

If you need to permit customers check in and log into your page, keep their information private, and a number of the capabilities like two-step authentication or password procedure, this provider is something well worth the use. Not best does it will let you keep away from writing a backend service, however, it additionally calls for less code at the frontend. 

Getting started

Connection with AWS Cognito provider at the software aspect may be accomplished with the aid of using uploading the AWS Amplify module, to be had to download as an NPM module. It offers your software the cap potential to connect to the AWS Cognito provider and put in force the local person interface paperwork for authentication, password healing, etc.

AWS cognito pros

  1. Fully configurable through the AWS manage panel.
  2. Easy to connect to your software thru furnished AWS Amplify module.
  3. No want for a further worldwide nation control answer on your app. AWS Amplify will take a look at if the person is already logged for you. It presents its very own worldwide nation which may be used throughout the complete software.
  4. Out-of-the-field, UI paperwork for logging in, registration, password healing, password alternate, federated authentication, MFA.
  5. All the information may be mechanically saved in the cloud AWS Cognito provider.
  6. Confirmation emails may be mechanically despatched to the person in addition to textual content messages to confirm the phone quantity.
  7. You can keep custom attributes for customers like address, phone quantity, town, and any custom discipline that you need.
  8. Data despatched from the software is already encrypted and secured with the aid of using the AWS Amplify module.
  9. Easy to connect to different AWS offerings like AWS AppSync.
  10. UI Form validations controlled with the aid of using AWS manage panel.
  11. Integration with Social identification vendors eg, “Log in with Google”.
  12. Error messages already furnished with the aid of using provider.
  13. Several approaches to deal with paperwork at the software aspect.
  14. AWS Amplify permits for making HTTP requests.
  15. Out of the field protection capabilities like throttling or refresh tokens.

AWS cognito cons

  1. It’s a paid solution.
  2. Documentation is hardly ever up to date and now no longer a great deal detail.
  3. Some of the alternatives may be best set for the duration of the introduction of an AWS Cognito person pool within the AWS management panel. After that, the alternatives are disabled, and in case you need to alternate them you want to delete the complete example and create a brand.
  4. Aligning furnished UI paperwork with a number of the designs can occasionally be problematic, then probable the quickest manner is to create your very own shape components.
  5. Error messages furnished by using AWS Cognito aren’t very person-pleasant. Sometimes they’re too technical so that you want to offer a few types of a mistakes mapper within the software, to reveal greater person-pleasant messages. For instance whilst a person attempts to log in with the incorrect password.
  6. There aren’t any mistakes messages for precise shape fields, the best well-known mistakes messages.
  7. Confirmation emails are very limited. You want to create custom HTML electronic mail templates in case you need greater than only undeniable textual content electronic mail with a verification link.
  8. There are obstacles withinside the number of custom discipline attributes. You can’t create greater than 25 custom attributes.
  9. AWS Amplify module is a touch heavy (minified + gzipped model is round a hundred and eighty kB).

Conclusion

Using AWS Cognito for authentication at the side of AWS amplify at the software might be a solution than developing the complete authentication service on your very own. In addition, you don’t want to attend to the backend, due to the fact this can be already furnished by using AWS Cognito. But in case your software no longer uses some other provider from AWS Cognito, connecting it with third-party offerings will make an effort and require custom solutions.