User Pools Authentication Flow
Start course
Difficulty
Beginner
Duration
2h 33m
Students
1161
Ratings
4.5/5
starstarstarstarstar-half
Description

This course provides detail on the AWS Security, Identity, and compliance services relevant to the AWS Developer - Associate exam. These services are used to help secure and protect your resources and environment through access control mechanisms and encryption.

Want more? Try a lab playground or do a Lab Challenge!

Learning Objectives

  • Learn what Identity Federation is
  • Learn about the AWS services that can be used with it
  • Understand how it's implemented
  • Understand the benefits of AWS SSO and how it can be used to simplify user access at scale
  • Create your own authentication mechanisms using Amazon Cognito
  • Create your own customized UI for user sign in
  • Create a secure user directory for all your applications and users
  • Understand what is meant identity and access management and the difference between authentication, authorization, and access control
  • Learn the components of IAM as well as its reporting features
  • Understand the core principles of cross-account access using IAM
  • How to implement and configure cross-account access
  • Define how the Key encryption process works
  • Explain the differences between the different key types 
  • Create and modify Key policies
  • Understand how to rotate, delete and reinstate keys
  • Define how to import your own Key material

 

Transcript

Now that we know a little bit more about User pools, let’s quickly examine how the authentication flow is handled by your application and the service.

Your user will be presented with a login screen or terminal of some sort from within your application. They will submit their credentials, either from having created an account directly or by logging into a third-party provider. 

The application will call the  InitiateAuth operation with those credentials. This API call kicks off the authentication flow. It directly indicates to amazon Cognito that you want to authenticate. 

If the call is successful - Cognito will respond either with a token or with a challenge.

A challenge can include CAPTCHAs or Dynamic challenge questions. These are normally used to help screen for bots. You can insert your own custom challenges if you wish. This will be sent back to the client and it now becomes Their problem.

When the client is ready to respond back to the server(cognito), they can reply with RespondToAuthChallenge and provide whatever information the challenge requires back. If the user fails the challenge, you can have Cognito set up to resend a new one. This can include multiple rounds until the user is successful or fails out.

If successful Cognito will shoot back some tokens for the client to use - Hurray authentication!

For a deeper dive into the process please take a look over here.

About the Author
Students
219451
Labs
1
Courses
213
Learning Paths
174

Stuart has been working within the IT industry for two decades covering a huge range of topic areas and technologies, from data center and network infrastructure design, to cloud architecture and implementation.

To date, Stuart has created 150+ courses relating to Cloud reaching over 180,000 students, mostly within the AWS category and with a heavy focus on security and compliance.

Stuart is a member of the AWS Community Builders Program for his contributions towards AWS.

He is AWS certified and accredited in addition to being a published author covering topics across the AWS landscape.

In January 2016 Stuart was awarded ‘Expert of the Year Award 2015’ from Experts Exchange for his knowledge share within cloud services to the community.

Stuart enjoys writing about cloud technologies and you will find many of his articles within our blog pages.