SlideShare una empresa de Scribd logo
1 de 24
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Implement User Onboarding,
Sign-up, and Sign-in for Mobile and
Web Applications with Amazon
Cognito
A d r i a n H a l l , A W S S e n i o r D e v e l o p e r A d v o c a t e , A W S M o b i l e A p p l i c a t i o n s
T i m H u n t , A W S S r . P r o d u c t M a n a g e r , T e c h , A W S M o b i l e
M B L 3 0 5
N o v e m b e r 2 9 , 2 0 1 7
AWS re:INVENT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Security and access Customer ownership Experience Customer relationships
Why identity is important for your app
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Minimize user friction Prepare for success (scale)Put security first
Getting identity right
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS credentials and access control OpenID Connect and OAUth 2.0
Managed user directory Sign in with existing identities (federation) Customizable, hosted UI or SDK
Amazon Cognito
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Cognito: Identity scenarios
Business to consumer Business to business
Business to employee IoT scenarios
Enterprise
directoryEnterprise
directory
SAML
Enterprise
directory
SAML
AWS IoT
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Cognito User Pools
Easily add user sign-up and
sign-in to your mobile and
web apps without worrying
about server infrastructure
Serverless authentication
and user management
Verify phone numbers and
email addresses and offer
multifactor authentication
Enhanced security
features
Launch a simple, secure,
low-cost, and fully managed
service to create and
maintain a user directory
that scales to hundreds of
millions of users
Managed user directory
1 2 3
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Comprehensive user flows
Email or phone
number verification
Forgot password
User sign-up and
sign-in
Require users to verify their email address or phone number before activating
their account with a one-time password challenge
Provide users the ability to change their forgotten password with a one-time
password challenge
Allow users to sign up and sign in using an email address, phone number, or
username (and password) for your application
User profile data Enable users to view and update their profile data—including custom attributes
SMS multifactor
authentication
Require users to complete a second factor of authentication by inputting a
security code received via SMS as part of the sign-in flow
Customize these user flows using AWS Lambda
Token-based
authentication
Use JSON Web Tokens (JWTs) based on OpenID Connect (OIDC) and OAuth
2.0 standards for user authentication in your backend
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Custom user flows using Lambda
Category Lambda hook Example scenarios
Custom
authentication
flow
Define auth challenge Determines the next challenge in a custom auth flow
Create auth challenge Creates a challenge in a custom auth flow
Verify auth challenge response Determines whether a response is correct in a custom auth flow
Authentication
events
Pre-authentication Custom validation to accept or deny the sign-in request
Post-authentication Event logging for custom analytics
Pre-token generation Customize claims in the Id token
Sign up
Pre-sign-up Custom validation to accept or deny the sign-up request
Post-confirmation Custom welcome messages or event logging for custom analytics
Messages Custom message Advanced customization and localization of messages
NEW
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Extensive admin capabilities
Define custom
attributes
Set per-app
permissions
Set up password
policies
Create and manage
user pools
Define custom attributes for your user profiles
Set read and write permissions for each user attribute on a per-app basis
Enforce password policies such as minimum length and requirement of
certain types of characters
Create, configure, and delete multiple user pools across AWS regions
Require submission
of attribute data
Select which attributes must be provided by the user before completion of
the sign-up process
Search users
Search users based on a full match or a prefix match of their attributes
through the console or admin API
Manage users
Conduct admin actions, such as reset user password, confirm user, enable
MFA, delete user, and global sign-out
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Customize our built-in UI or create your
own
Upload your own
logo and adjust CSS
properties to fit
your style and
branding
Integrate your
native UI with
our SDKs
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Federation with Cognito user pools
• Built-in integrations with identity
providers
• Social: Facebook, Google, log in with
Amazon
• Corporate via SAML 2.0
• Map user attributes into user pool
profiles
• Universal directory with common set
of profiles and tokens for all users
CUP
token
Cognito user pool
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Support for OAuth 2.0 in Cognito user
pools
• OAuth 2.0 flows:
• Authorization code grant
• Implicit flow
• Client credentials
• Custom scopes defined for resource
servers
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cognito Federated Identities
(identity pools)
• Exchanges tokens from
authenticated users for AWS
credentials to access resources such
as Amazon S3 or Amazon
DynamoDB
• You can define rules for mapping
users to different IAM roles to
manage permissions
• Provides an identity pool ID to
uniquely identify users
Cognito
identity pool
AWS credentials
/ / etc
token
Mobile or web app
DynamoDB
Amazon S3
API GW
Access backend
resources
—tied to IAM role
1
3
2
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Cognito for authentication &
access
Get AWS
credentials
Cognito
identity pool
DynamoDB Amazon S3
Access AWS services
Federating
IdP
Cognito user
pool
• User pools authenticate
users and return standard
tokens
• User pool tokens are used
to access backend
resources
• Identity pools provide AWS
credentials to access AWS
services
Authenticate
3
CUP
token1
IdP
token
2
Redirect/
post back
CUP
token
5
6
Access serverless backendCUP
token
API Gateway
4
Lambda
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Cognito: Authorization scenarios
Standalone Identity Provider Amazon API Gateway AWS credentials
Resources
• OIDC and OAuth 2.0 tokens
from user pools can be used
directly to access backend
resources
CUP
token
CUP
token
CUP
token
CUP
token
AWS IAM
AWS
credentials
AWS Services
Amazon S3DynamoDBLambda
• User pool tokens authorize
requests via API Gateway
• Token claims can be inspected
• Temporary AWS credentials
provide access to AWS
services
• Users can be mapped to
different roles and policies
API
Gateway
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amazon Pinpoint and Amazon Cognito
Amazon Pinpoint Amazon Cognito
Integration
Enriches user data for Pinpoint campaigns
Provides analytics for Cognito User Pool activities
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Advanced security features Beta
Protections against
1. Compromised credentials
2. Anomalous sign-in attempts
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Advanced security: Compromised
credentials
Detect, in real time, the reuse of
compromised credentials as users sign-up,
sign-in, or change their password
Choose whether to block users from reusing
compromised credentials
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Advanced security: Adaptive
authentication
Detect anomalies during sign-in events including:
o Sign-in from previously unseen or atypical location, from
previously unknown device
o Sign-in from IP addresses with a high number of failed
sign-in attempts
o Sign-in from malicious IP addresses
Choose factors to secure sign-in requests for a
given risk level
o Factors include SMS and TOTP (e.g., Google
Authenticator)
Alert users to suspicious sign-in attempts
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Advanced security: Reporting
View aggregate metrics on the threats detected
by each feature
List users against whom threats were detected,
and recent sign-in activity for users
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Getting started with Amazon Cognito
Visit aws.amazon.com/cognito/dev-resources/ for links to:
 Getting started guides
 Documentation, SDKs, and sample apps
 Videos
 Presentation slides
 Blog posts
 Developer forums
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Ask questions/Tweet/Get a T-shirt
Visit the AWS Mobile booth Wednesday between
noon and 6 p.m. to ask questions of the Amazon
Cognito Engineering team
Be among the first 25 to show a tweet
about how you are using or will use
Amazon Cognito with #amazoncognito
and get a T-shirt!
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thank you!
P l e a s e r e m e m b e r t o c o m p l e t e t h e s u r v e y
M B L 3 0 5

Más contenido relacionado

La actualidad más candente

AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAmazon Web Services
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Deep Dive on Amazon GuardDuty - AWS Online Tech Talks
Deep Dive on Amazon GuardDuty - AWS Online Tech TalksDeep Dive on Amazon GuardDuty - AWS Online Tech Talks
Deep Dive on Amazon GuardDuty - AWS Online Tech TalksAmazon Web Services
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelAmazon Web Services
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API GatewayAmazon Web Services
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API GatewayMark Bate
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateAmazon Web Services
 
Introduction to AWS IAM
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAMKnoldus Inc.
 
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...Amazon Web Services Korea
 
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...Amazon Web Services
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...Amazon Web Services
 
API First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelineAPI First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelinePronovix
 

La actualidad más candente (20)

DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
 
Getting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless ComputingGetting Started with AWS Lambda Serverless Computing
Getting Started with AWS Lambda Serverless Computing
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Deep Dive on Amazon GuardDuty - AWS Online Tech Talks
Deep Dive on Amazon GuardDuty - AWS Online Tech TalksDeep Dive on Amazon GuardDuty - AWS Online Tech Talks
Deep Dive on Amazon GuardDuty - AWS Online Tech Talks
 
CI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day IsraelCI/CD pipelines on AWS - Builders Day Israel
CI/CD pipelines on AWS - Builders Day Israel
 
Deep Dive on AWS Lambda
Deep Dive on AWS LambdaDeep Dive on AWS Lambda
Deep Dive on AWS Lambda
 
Building APIs with Amazon API Gateway
Building APIs with Amazon API GatewayBuilding APIs with Amazon API Gateway
Building APIs with Amazon API Gateway
 
Introduction to Serverless
Introduction to ServerlessIntroduction to Serverless
Introduction to Serverless
 
Amazon API Gateway
Amazon API GatewayAmazon API Gateway
Amazon API Gateway
 
Cognito Customer Deep Dive
Cognito Customer Deep DiveCognito Customer Deep Dive
Cognito Customer Deep Dive
 
CI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and FargateCI/CD with AWS Developer Tools and Fargate
CI/CD with AWS Developer Tools and Fargate
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Introduction to AWS IAM
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAM
 
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...
IAM 정책을 잘 알아야 AWS 보안도 쉬워진다. 이것은 꼭 알고 가자! - 신은수 솔루션즈 아키텍트, AWS :: AWS Summit S...
 
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
Amazon GuardDuty: Intelligent Threat Detection and Continuous Monitoring to P...
 
API First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipelineAPI First Workflow: How could we have better API Docs through DevOps pipeline
API First Workflow: How could we have better API Docs through DevOps pipeline
 

Similar a Implement User Onboarding, Sign-Up, and Sign-In for Mobile and Web Applications with Amazon Cognito - MBL305 - re:Invent 2017

Authentication and Identity with Amazon Cognito
Authentication and Identity with Amazon CognitoAuthentication and Identity with Amazon Cognito
Authentication and Identity with Amazon CognitoAmazon Web Services
 
User Authentication and Identity with Amazon Cognito
User Authentication and Identity with Amazon CognitoUser Authentication and Identity with Amazon Cognito
User Authentication and Identity with Amazon CognitoAmazon Web Services
 
User Identity and Authentication
User Identity and AuthenticationUser Identity and Authentication
User Identity and AuthenticationAmazon Web Services
 
Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...Amazon Web Services
 
Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...Amazon Web Services
 
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...Amazon Web Services
 
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...Amazon Web Services
 
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...Amazon Web Services
 
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...Amazon Web Services
 
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UIBuild a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UIAmazon Web Services
 
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UIBuild a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UIAmazon Web Services
 
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...Amazon Web Services
 
AWS Webinar Series - Build web-based and native mobile applications on AWS
AWS Webinar Series - Build web-based and native mobile applications on AWS AWS Webinar Series - Build web-based and native mobile applications on AWS
AWS Webinar Series - Build web-based and native mobile applications on AWS Amazon Web Services
 
Getting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesGetting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesAmazon Web Services
 
Add User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon CognitoAdd User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon CognitoAmazon Web Services
 
Announcements for Mobile Developers
Announcements for Mobile DevelopersAnnouncements for Mobile Developers
Announcements for Mobile DevelopersAmazon Web Services
 
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...Amazon Web Services
 
Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017Amazon Web Services
 
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech TalksDeep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech TalksAmazon Web Services
 
User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...
User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...
User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...Amazon Web Services
 

Similar a Implement User Onboarding, Sign-Up, and Sign-In for Mobile and Web Applications with Amazon Cognito - MBL305 - re:Invent 2017 (20)

Authentication and Identity with Amazon Cognito
Authentication and Identity with Amazon CognitoAuthentication and Identity with Amazon Cognito
Authentication and Identity with Amazon Cognito
 
User Authentication and Identity with Amazon Cognito
User Authentication and Identity with Amazon CognitoUser Authentication and Identity with Amazon Cognito
User Authentication and Identity with Amazon Cognito
 
User Identity and Authentication
User Identity and AuthenticationUser Identity and Authentication
User Identity and Authentication
 
Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...
 
Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...Authentication & Authorization for Connected Mobile & Web Applications using ...
Authentication & Authorization for Connected Mobile & Web Applications using ...
 
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
Add End User Sign-in, User Management, and Security to Your Mobile and Web Ap...
 
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
Identity Management for Your Users and Apps: A Deep Dive on Amazon Cognito - ...
 
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
Managing Identity and Securing Your Mobile and Web Applications with Amazon C...
 
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
AWS re:Invent 2016: Add User Sign-In, User Management, and Security to your M...
 
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UIBuild a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
 
Build a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UIBuild a Web Authentication System with a Custom UI
Build a Web Authentication System with a Custom UI
 
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
Serverless OAuth: Authorizing Third-Party Applications to Your Serverless API...
 
AWS Webinar Series - Build web-based and native mobile applications on AWS
AWS Webinar Series - Build web-based and native mobile applications on AWS AWS Webinar Series - Build web-based and native mobile applications on AWS
AWS Webinar Series - Build web-based and native mobile applications on AWS
 
Getting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar SeriesGetting Started with Cognito User Pools - September Webinar Series
Getting Started with Cognito User Pools - September Webinar Series
 
Add User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon CognitoAdd User Sign in and Management to your Apps with Amazon Cognito
Add User Sign in and Management to your Apps with Amazon Cognito
 
Announcements for Mobile Developers
Announcements for Mobile DevelopersAnnouncements for Mobile Developers
Announcements for Mobile Developers
 
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
Getting Started with your User Pools in Amazon Cognito - AWS June 2016 Webina...
 
Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017Deep Dive on Amazon Cognito - DevDay Austin 2017
Deep Dive on Amazon Cognito - DevDay Austin 2017
 
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech TalksDeep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
Deep Dive on User Sign-up Sign-in with Amazon Cognito - AWS Online Tech Talks
 
User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...
User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...
User Based Multi Channel Engagement using Amazon Pinpoint and Amazon Cognito ...
 

Más de Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Más de Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Implement User Onboarding, Sign-Up, and Sign-In for Mobile and Web Applications with Amazon Cognito - MBL305 - re:Invent 2017

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Implement User Onboarding, Sign-up, and Sign-in for Mobile and Web Applications with Amazon Cognito A d r i a n H a l l , A W S S e n i o r D e v e l o p e r A d v o c a t e , A W S M o b i l e A p p l i c a t i o n s T i m H u n t , A W S S r . P r o d u c t M a n a g e r , T e c h , A W S M o b i l e M B L 3 0 5 N o v e m b e r 2 9 , 2 0 1 7 AWS re:INVENT
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Security and access Customer ownership Experience Customer relationships Why identity is important for your app
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Minimize user friction Prepare for success (scale)Put security first Getting identity right
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS credentials and access control OpenID Connect and OAUth 2.0 Managed user directory Sign in with existing identities (federation) Customizable, hosted UI or SDK Amazon Cognito
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Cognito: Identity scenarios Business to consumer Business to business Business to employee IoT scenarios Enterprise directoryEnterprise directory SAML Enterprise directory SAML AWS IoT
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Cognito User Pools Easily add user sign-up and sign-in to your mobile and web apps without worrying about server infrastructure Serverless authentication and user management Verify phone numbers and email addresses and offer multifactor authentication Enhanced security features Launch a simple, secure, low-cost, and fully managed service to create and maintain a user directory that scales to hundreds of millions of users Managed user directory 1 2 3
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Comprehensive user flows Email or phone number verification Forgot password User sign-up and sign-in Require users to verify their email address or phone number before activating their account with a one-time password challenge Provide users the ability to change their forgotten password with a one-time password challenge Allow users to sign up and sign in using an email address, phone number, or username (and password) for your application User profile data Enable users to view and update their profile data—including custom attributes SMS multifactor authentication Require users to complete a second factor of authentication by inputting a security code received via SMS as part of the sign-in flow Customize these user flows using AWS Lambda Token-based authentication Use JSON Web Tokens (JWTs) based on OpenID Connect (OIDC) and OAuth 2.0 standards for user authentication in your backend
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Custom user flows using Lambda Category Lambda hook Example scenarios Custom authentication flow Define auth challenge Determines the next challenge in a custom auth flow Create auth challenge Creates a challenge in a custom auth flow Verify auth challenge response Determines whether a response is correct in a custom auth flow Authentication events Pre-authentication Custom validation to accept or deny the sign-in request Post-authentication Event logging for custom analytics Pre-token generation Customize claims in the Id token Sign up Pre-sign-up Custom validation to accept or deny the sign-up request Post-confirmation Custom welcome messages or event logging for custom analytics Messages Custom message Advanced customization and localization of messages NEW
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Extensive admin capabilities Define custom attributes Set per-app permissions Set up password policies Create and manage user pools Define custom attributes for your user profiles Set read and write permissions for each user attribute on a per-app basis Enforce password policies such as minimum length and requirement of certain types of characters Create, configure, and delete multiple user pools across AWS regions Require submission of attribute data Select which attributes must be provided by the user before completion of the sign-up process Search users Search users based on a full match or a prefix match of their attributes through the console or admin API Manage users Conduct admin actions, such as reset user password, confirm user, enable MFA, delete user, and global sign-out
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Customize our built-in UI or create your own Upload your own logo and adjust CSS properties to fit your style and branding Integrate your native UI with our SDKs
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Federation with Cognito user pools • Built-in integrations with identity providers • Social: Facebook, Google, log in with Amazon • Corporate via SAML 2.0 • Map user attributes into user pool profiles • Universal directory with common set of profiles and tokens for all users CUP token Cognito user pool
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Support for OAuth 2.0 in Cognito user pools • OAuth 2.0 flows: • Authorization code grant • Implicit flow • Client credentials • Custom scopes defined for resource servers
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cognito Federated Identities (identity pools) • Exchanges tokens from authenticated users for AWS credentials to access resources such as Amazon S3 or Amazon DynamoDB • You can define rules for mapping users to different IAM roles to manage permissions • Provides an identity pool ID to uniquely identify users Cognito identity pool AWS credentials / / etc token Mobile or web app DynamoDB Amazon S3 API GW Access backend resources —tied to IAM role 1 3 2
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Cognito for authentication & access Get AWS credentials Cognito identity pool DynamoDB Amazon S3 Access AWS services Federating IdP Cognito user pool • User pools authenticate users and return standard tokens • User pool tokens are used to access backend resources • Identity pools provide AWS credentials to access AWS services Authenticate 3 CUP token1 IdP token 2 Redirect/ post back CUP token 5 6 Access serverless backendCUP token API Gateway 4 Lambda
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Cognito: Authorization scenarios Standalone Identity Provider Amazon API Gateway AWS credentials Resources • OIDC and OAuth 2.0 tokens from user pools can be used directly to access backend resources CUP token CUP token CUP token CUP token AWS IAM AWS credentials AWS Services Amazon S3DynamoDBLambda • User pool tokens authorize requests via API Gateway • Token claims can be inspected • Temporary AWS credentials provide access to AWS services • Users can be mapped to different roles and policies API Gateway
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon Pinpoint and Amazon Cognito Amazon Pinpoint Amazon Cognito Integration Enriches user data for Pinpoint campaigns Provides analytics for Cognito User Pool activities
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Advanced security features Beta Protections against 1. Compromised credentials 2. Anomalous sign-in attempts
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Advanced security: Compromised credentials Detect, in real time, the reuse of compromised credentials as users sign-up, sign-in, or change their password Choose whether to block users from reusing compromised credentials
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Advanced security: Adaptive authentication Detect anomalies during sign-in events including: o Sign-in from previously unseen or atypical location, from previously unknown device o Sign-in from IP addresses with a high number of failed sign-in attempts o Sign-in from malicious IP addresses Choose factors to secure sign-in requests for a given risk level o Factors include SMS and TOTP (e.g., Google Authenticator) Alert users to suspicious sign-in attempts
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Advanced security: Reporting View aggregate metrics on the threats detected by each feature List users against whom threats were detected, and recent sign-in activity for users
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Getting started with Amazon Cognito Visit aws.amazon.com/cognito/dev-resources/ for links to:  Getting started guides  Documentation, SDKs, and sample apps  Videos  Presentation slides  Blog posts  Developer forums
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Ask questions/Tweet/Get a T-shirt Visit the AWS Mobile booth Wednesday between noon and 6 p.m. to ask questions of the Amazon Cognito Engineering team Be among the first 25 to show a tweet about how you are using or will use Amazon Cognito with #amazoncognito and get a T-shirt!
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thank you! P l e a s e r e m e m b e r t o c o m p l e t e t h e s u r v e y M B L 3 0 5