SlideShare a Scribd company logo
1 of 34
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Tim Hunt, Sr. Product Manager, Amazon Cognito
October 26, 2016
Add User Sign-In and Management
to Your Apps with Amazon Cognito
Topics
 AWS Mobile Services and Amazon Cognito
 Introduction to Your User Pools
 Summary of Features
 Demo
 Deeper Dive in a Few Areas
 Getting Started
 Q & A
The Best Mobile Apps Run on AWS
Authenticate users
Analyze User Behavior
Store and share media
Synchronize data
Deliver media
Amazon Cognito
(Sync)
Amazon Cognito
(Identity)
Amazon S3
Amazon CloudFront
Store data
Amazon DynamoDB
Amazon RDS
Track Retention
Amazon Mobile
Analytics
Send push notifications
Amazon SNS
Mobile Push
Server-side logic
Lambda
Device Farm
Test your app
Amazon Mobile
Analytics
Build and Scale Your Apps on AWS
AWS Mobile Hub: Fastest Way to Build Apps on AWS
Comprehensive Support for Identity Use Cases
6
Manage authenticated
and guest users’
access to your AWS
resources
Federated Identities
Synchronize user’s data
across devices and
platforms via the cloud
Data Synchronization
Add sign-up and sign-
in with a fully
managed user
directory
Your User Pool
GuestYour own
auth
Amazon Cognito Identity Amazon Cognito Sync
Amazon Cognito Identity and Sync
k/v data
SAML
Sign in with
Facebook
Or
Username
Password
Sign In
Or
Start as a guest
Authenticate via
3rd party Identity
Providers
Amazon Cognito Identity and User Experience
Guest Access
Your User Pools in
Amazon Cognito
Amazon Cognito Identity
provides temporary
credentials to securely
access your resources
DynamoDB
S3
API Gateway
Your User Pools
9
Add user sign-up and sign-
in easily to your mobile and
web apps without worrying
about server infrastructure
Serverless Authentication
and User Management
Verify phone numbers and
email addresses and offer
multi-factor authentication
Enhanced Security
Features
Launch a simple, low-cost,
and fully managed service
to create and maintain a
user directory that can scale
to 100s of millions of users
Managed User Directory
1 2 3
Comprehensive User Flows
10
Email or phone
number verification
Forgot password
User registration and
authentication
Users verify their email address or phone number prior to activating an account
Users can change their password if they forget it
Users can sign up and sign in using an email, phone number, or username (and
password)
User profile data User can view and update profile data – including custom attributes
SMS-based MFA Users complete Multi-Factor Authentication (MFA) by inputting a security code
received via SMS as part of the sign-in flow
Customize these user flows using Lambda
Custom User Flows Using Lambda Hooks
11
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 if 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
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
Custom Auth flow
12
Amazon Cognito Your
User Pools
Custom Authentication Challenges
(e.g., CAPTCHA or custom 2nd factors)
1
2 5
6
3
4
Extensive Admin Capabilities
13
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 like minimum length and requirements for
different character types
Create, configure, and delete user pools across AWS regions
Require submission of
attribute data Select which attributes must be provided by the user to complete sign-up
Search for users Search for 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
Remembered Devices
14
Remember the devices
associated with your users
1
Reduce the friction that your
users face with MFA by
suppressing the 2nd factor
challenge from remembered
devices
Build logic to associate devices
with your users to achieve
specific business requirements
such as remote device signout
2
Amazon Cognito User Pools and Amazon API
Gateway
15
Custom Authorizer FunctionNative Support
Configure API Gateway to accept
Cognito user pool ID tokens to
authorize users
Control access to your APIs by
inspecting tokens provided by
Cognito user pools
Importing Existing Users
 Import users into your Cognito user pool by
uploading .csv files
 Users will create a new password when they
first sign-in
 Each imported user must have an email
address or a phone number
Control Attribute Permissions
Choose which user attributes
each app can read and write
Read Write
name
phone
custom:paid
Creating Users as an Administrator
 Developers or administrators can create users in a user pool and
send them an optional, customizable invitation email or SMS message
 New users sign in with a temporary password and create a new
password
 User pools can be configured to only allow users created by an
administrator
Additional User Pool Features
 Customizable email addresses – Customize the "from" email address of
emails you send to users in a user pool.
 Admin sign-in – Your app can sign in users from back-end servers or
Lambda functions.
 Global sign-out – Allow a user to sign out from all signed-in devices or
browsers.
 Custom expiration period – Set an expiration period for refresh tokens.
“Building an AWS serverless platform that manages sensitive
customer data requires an authentication strategy that protects
the information from unauthorized access. Using the Amazon
Cognito user pool feature together with AWS Lambda, we’re
developing a flexible, fully integrated solution that can scale
effortlessly – a powerful tool that will be critical in keeping our
customers’ data secure.”
Feedback from our beta customers
20
“It is critical for us to provide a secure and simple sign-up
and sign-in experience for our tens of millions of end
users. With Amazon Cognito, we can enable that without
having to worry about building and managing any backend
infrastructure.”
Demo
Understanding User Status
 New users start with
“Registered” status
 Users must be
confirmed before
they can sign-in
 Users must be
disabled before they
can be deleted
Registered
(cannot sign in)
Sign-up
Confirmed
Disabled
Admin
Confirm
Confirm via
email/phone
or
Disable
Delete
(deleted)
Lambda Trigger:
Pre Sign-up Reset Required
User import
Force Change
Password
Admin Create User
Reset password
Enable
Verifying Email and Phone
 Your User Pools provide built-in verification of email
addresses and phone numbers
 A six digit code is sent as an email message or SMS
text and is submitted via the VerifyUserAttribute
API
 If both a phone number and email address are
provided at sign-up, a verification code will only be
sent to the phone
 Your app can call GetUser to see if an email address
or phone number is awaiting verification, and then call
GetUserAttributeVerificationCode to initiate
the verification
Your verification
code is 938764
Using Aliases in Amazon Cognito User Pools
 Sign-up and sign-in with email is very common
today
 Aliases in Amazon Cognito support use of email,
phone or preferred user name in place of the
user name
 A username value must be provided at sign-up,
but it could be generated by the app and not
exposed to the end user
 Phone numbers and email addresses must be
unique and must be verified before they can be
used to sign-in
My App
Email
Password
Sign In
Sign Up
Cognito User and Federated Identities
Cognito User
Identities
(Your User Pool)
User
Sign-in1
Returns Access
and ID Tokens
2
Cognito Federated
Identities
(Identity Pool)
Get AWS scoped
credentials
3
Access
to AWS Services
4
DynamoDBS3 API Gateway
Getting Started with Your User Pools
See aws.amazon.com/cognito/dev-resources/ for links to
 Getting Started Guides
 Documentation, SDKs, and Sample Apps
 Videos
 Presentation Slides
 Blog Posts
 Developer Forums
Q & A
 Visit aws.amazon.com/cognito/ to learn more
 Find resources at aws.amazon.com/cognito/dev-resources/
 Ask questions at the AWS Developer Forum or Stack Overflow
(‘amazon-cognito’ tag)
Appendix
AWS Resources
Authentication – Supported Providers:
Authorization / Permission
Cognito Functional Diagram
Social Identity Providers Developer
Provided
Enterprise
Identity
Provider
via SAML
Authenticate users
and generate identity
tokens
Validates identity
tokens and provides
credentials to access
AWS resources
Cognito
User Pool
Cognito Federated Identities (Identity Pool)
Pricing
 Pricing is based on Monthly Active Users (MAUs) with volume-based discounting
 A user is counted as a MAU if there is an identity operation related to that user within a calendar
month (e.g., sign-up, sign-in, token refresh, or password change)
 No charge for subsequent sessions or for inactive users
 SMS charges are billed separately (using the SNS Global SMS feature)
Pricing Tier Price per 1K MAUs
First 50,000 MAUs Free
Next 50,000 MAUs $5.50
Next 900,000 MAUs $4.60
Next 9,000,000 MAUs $3.25
>10,000,000 MAUs $2.50
Amazon Cognito Sync
User Data
Storage and
Sync
Any Platform
iOS/Android/FireOS
Store app data, preferences, and state
Save app and device data to the cloud and merge
them after login
Cross-device / Cross-OS Sync
Sync user data and preferences across devices
with a few lines of code
Work offline
Data always stored in local SQLite DB first
Works seamlessly with intermittent or no
connectivity
k/v data
Identity pool
No back end
Simple client SDK eliminates need for server
side code
© 2015 Amazon Web Services, Inc. and its affiliates. All rights reserved.
Push Sync
 Sync between devices in near real-time
using push instead of polling
 Fewer syncs = cost savings
 Powered by SNS
 Push changes from your backend
Cognito Streams
 Enables deeper analysis of data
 Receive a stream of any updates to a dataset for each identity in
your identity pool
 Publishes updates to Kinesis
 From Kinesis write to other destinations such as Redshift or
ElasticSearch
RedShift
ElasticSearch
KinesisCognito
Cognito Events
 Can be used to provide data validation (Cheating, Sanitization)
 Can be used to inject data (Bonuses, Content)
 Perform additional logic server side during a synchronize call
 Full control over dataset contents
LambdaCognito

More Related Content

What's hot

What's hot (20)

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 - ...
 
AWS IAM Introduction
AWS IAM IntroductionAWS IAM Introduction
AWS IAM Introduction
 
Amazon Cognito와 함께 서버리스를..! - 이재일 (강남비기너모임) :: AWS Community Day 2017
Amazon Cognito와 함께 서버리스를..! - 이재일 (강남비기너모임) :: AWS Community Day 2017Amazon Cognito와 함께 서버리스를..! - 이재일 (강남비기너모임) :: AWS Community Day 2017
Amazon Cognito와 함께 서버리스를..! - 이재일 (강남비기너모임) :: AWS Community Day 2017
 
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
 
IAM Introduction and Best Practices
IAM Introduction and Best PracticesIAM Introduction and Best Practices
IAM Introduction and Best Practices
 
Azure Identity and access management
Azure   Identity and access managementAzure   Identity and access management
Azure Identity and access management
 
Introduction to SAML 2.0
Introduction to SAML 2.0Introduction to SAML 2.0
Introduction to SAML 2.0
 
Modern Devices Management
Modern Devices ManagementModern Devices Management
Modern Devices Management
 
AWS EC2
AWS EC2AWS EC2
AWS EC2
 
API Security Best Practices & Guidelines
API Security Best Practices & GuidelinesAPI Security Best Practices & Guidelines
API Security Best Practices & Guidelines
 
Identity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS SecurityIdentity and Access Management: The First Step in AWS Security
Identity and Access Management: The First Step in AWS Security
 
AWS IAM and security
AWS IAM and securityAWS IAM and security
AWS IAM and security
 
Introduction to AWS IAM
Introduction to AWS IAMIntroduction to AWS IAM
Introduction to AWS IAM
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
 
Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
Amazon Virtual Private Cloud (VPC) - Networking Fundamentals and Connectivity...
 
(SEC318) AWS CloudTrail Deep Dive
(SEC318) AWS CloudTrail Deep Dive(SEC318) AWS CloudTrail Deep Dive
(SEC318) AWS CloudTrail Deep Dive
 
How to use IAM roles grant access to AWS
How to use IAM roles grant access to AWSHow to use IAM roles grant access to AWS
How to use IAM roles grant access to AWS
 
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...
 
AWS Cloud Formation
AWS Cloud FormationAWS Cloud Formation
AWS Cloud Formation
 
Azure AD Connect
Azure AD ConnectAzure AD Connect
Azure AD Connect
 

Viewers also liked

AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
Amazon Web Services
 
amazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutesamazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutes
Vladimir Budilov
 
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati..."What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...
Compuware APM
 

Viewers also liked (20)

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...
 
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
AWS Mobile Services: Amazon Cognito - Identity Broker and Synchronization Ser...
 
Securing Serverless Workloads with Cognito and API Gateway Part II - AWS Secu...
Securing Serverless Workloads with Cognito and API Gateway Part II - AWS Secu...Securing Serverless Workloads with Cognito and API Gateway Part II - AWS Secu...
Securing Serverless Workloads with Cognito and API Gateway Part II - AWS Secu...
 
About AppSocially
About AppSociallyAbout AppSocially
About AppSocially
 
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...
 
Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...
Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...
Securing Serverless Workloads with Cognito and API Gateway Part I - AWS Secur...
 
Develop a Custom Data Solution Architecture with NorthBay
Develop a Custom Data Solution Architecture with NorthBayDevelop a Custom Data Solution Architecture with NorthBay
Develop a Custom Data Solution Architecture with NorthBay
 
Storage & Content Delivery
Storage & Content Delivery Storage & Content Delivery
Storage & Content Delivery
 
Why we are working on AppSocially
Why we are working on AppSociallyWhy we are working on AppSocially
Why we are working on AppSocially
 
CRMpartners_Complete
CRMpartners_CompleteCRMpartners_Complete
CRMpartners_Complete
 
Performance Implications of Mobile Design
Performance Implications of Mobile DesignPerformance Implications of Mobile Design
Performance Implications of Mobile Design
 
AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)
AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)
AWS re:Invent 2016: Chalice: A Serverless Microframework for Python (DEV308)
 
Security Innovations in the Cloud
Security Innovations in the CloudSecurity Innovations in the Cloud
Security Innovations in the Cloud
 
amazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutesamazon-cognito-auth-in-minutes
amazon-cognito-auth-in-minutes
 
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati..."What Users Want from Mobile - A study of consumers’ mobile web and applicati...
"What Users Want from Mobile - A study of consumers’ mobile web and applicati...
 
Getting Started on AWS
Getting Started on AWS Getting Started on AWS
Getting Started on AWS
 
Data Warehousing with Amazon Redshift
Data Warehousing with Amazon RedshiftData Warehousing with Amazon Redshift
Data Warehousing with Amazon Redshift
 
Deep Dive Amazon Redshift for Big Data Analytics - September Webinar Series
Deep Dive Amazon Redshift for Big Data Analytics - September Webinar SeriesDeep Dive Amazon Redshift for Big Data Analytics - September Webinar Series
Deep Dive Amazon Redshift for Big Data Analytics - September Webinar Series
 
Deep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECSDeep Dive on Microservices and Amazon ECS
Deep Dive on Microservices and Amazon ECS
 
AWS Enterprise Summit Netherlands - Starting Your Journey in the Cloud
AWS Enterprise Summit Netherlands - Starting Your Journey in the CloudAWS Enterprise Summit Netherlands - Starting Your Journey in the Cloud
AWS Enterprise Summit Netherlands - Starting Your Journey in the Cloud
 

Similar to Add User Sign in and Management to your Apps with Amazon Cognito

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
Amazon Web Services
 

Similar to Add User Sign in and Management to your Apps with Amazon Cognito (20)

Amazon Cognito Public Beta of Built-in UI for User Sign-up/in and SAML Federa...
Amazon Cognito Public Beta of Built-in UI for User Sign-up/in and SAML Federa...Amazon Cognito Public Beta of Built-in UI for User Sign-up/in and SAML Federa...
Amazon Cognito Public Beta of Built-in UI for User Sign-up/in and SAML Federa...
 
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
 
Raleigh DevDay 2017: Managing User Onboarding, Sign-up, Sign-in, Identity and...
Raleigh DevDay 2017: Managing User Onboarding, Sign-up, Sign-in, Identity and...Raleigh DevDay 2017: Managing User Onboarding, Sign-up, Sign-in, Identity and...
Raleigh DevDay 2017: Managing User Onboarding, Sign-up, Sign-in, Identity and...
 
Deep Dive on Amazon Cognito - DevDay Los Angeles 2017
Deep Dive on Amazon Cognito - DevDay Los Angeles 2017Deep Dive on Amazon Cognito - DevDay Los Angeles 2017
Deep Dive on Amazon Cognito - DevDay Los Angeles 2017
 
Authentication and Identity with Amazon Cognito
Authentication and Identity with Amazon CognitoAuthentication and Identity with Amazon Cognito
Authentication and Identity with 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...
 
User Identity and Authentication
User Identity and AuthenticationUser Identity and Authentication
User Identity and Authentication
 
Announcements for Mobile Developers
Announcements for Mobile DevelopersAnnouncements for Mobile Developers
Announcements for Mobile Developers
 
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
 
Amazon Cognito Principles.pdf
Amazon Cognito Principles.pdfAmazon Cognito Principles.pdf
Amazon Cognito Principles.pdf
 
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 ...
 
Building Secure Mobile APIs
Building Secure Mobile APIsBuilding Secure Mobile APIs
Building Secure Mobile APIs
 
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWSACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
ACDKOCHI19 - Enterprise grade security for web and mobile applications on AWS
 
Implement User Onboarding, Sign-Up, and Sign-In for Mobile and Web Applicatio...
Implement User Onboarding, Sign-Up, and Sign-In for Mobile and Web Applicatio...Implement User Onboarding, Sign-Up, and Sign-In for Mobile and Web Applicatio...
Implement User Onboarding, Sign-Up, and Sign-In for Mobile and Web Applicatio...
 
Mobile Application Development and Testing on AWS
Mobile Application Development and Testing on AWSMobile Application Development and Testing on AWS
Mobile Application Development and Testing on AWS
 
Scaling your Mobile App Development in the Cloud - DevNexus
Scaling your Mobile App Development in the Cloud - DevNexusScaling your Mobile App Development in the Cloud - DevNexus
Scaling your Mobile App Development in the Cloud - DevNexus
 
Rapid Application Development on AWS
Rapid Application Development on AWSRapid Application Development on AWS
Rapid Application Development on AWS
 
Building mobile apps on AWS
Building mobile apps on AWSBuilding mobile apps on AWS
Building mobile apps on AWS
 
Building mobile apps on aws
Building mobile apps on awsBuilding mobile apps on aws
Building mobile apps on aws
 
What’s New with AWS Mobile Services
What’s New with AWS Mobile ServicesWhat’s New with AWS Mobile Services
What’s New with AWS Mobile Services
 

More from Amazon 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 AWS
Amazon 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 Deck
Amazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
Amazon 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
 

More from 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
 

Recently uploaded

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Recently uploaded (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Add User Sign in and Management to your Apps with Amazon Cognito

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Tim Hunt, Sr. Product Manager, Amazon Cognito October 26, 2016 Add User Sign-In and Management to Your Apps with Amazon Cognito
  • 2. Topics  AWS Mobile Services and Amazon Cognito  Introduction to Your User Pools  Summary of Features  Demo  Deeper Dive in a Few Areas  Getting Started  Q & A
  • 3. The Best Mobile Apps Run on AWS
  • 4. Authenticate users Analyze User Behavior Store and share media Synchronize data Deliver media Amazon Cognito (Sync) Amazon Cognito (Identity) Amazon S3 Amazon CloudFront Store data Amazon DynamoDB Amazon RDS Track Retention Amazon Mobile Analytics Send push notifications Amazon SNS Mobile Push Server-side logic Lambda Device Farm Test your app Amazon Mobile Analytics Build and Scale Your Apps on AWS
  • 5. AWS Mobile Hub: Fastest Way to Build Apps on AWS
  • 6. Comprehensive Support for Identity Use Cases 6
  • 7. Manage authenticated and guest users’ access to your AWS resources Federated Identities Synchronize user’s data across devices and platforms via the cloud Data Synchronization Add sign-up and sign- in with a fully managed user directory Your User Pool GuestYour own auth Amazon Cognito Identity Amazon Cognito Sync Amazon Cognito Identity and Sync k/v data SAML
  • 8. Sign in with Facebook Or Username Password Sign In Or Start as a guest Authenticate via 3rd party Identity Providers Amazon Cognito Identity and User Experience Guest Access Your User Pools in Amazon Cognito Amazon Cognito Identity provides temporary credentials to securely access your resources DynamoDB S3 API Gateway
  • 9. Your User Pools 9 Add user sign-up and sign- in easily to your mobile and web apps without worrying about server infrastructure Serverless Authentication and User Management Verify phone numbers and email addresses and offer multi-factor authentication Enhanced Security Features Launch a simple, low-cost, and fully managed service to create and maintain a user directory that can scale to 100s of millions of users Managed User Directory 1 2 3
  • 10. Comprehensive User Flows 10 Email or phone number verification Forgot password User registration and authentication Users verify their email address or phone number prior to activating an account Users can change their password if they forget it Users can sign up and sign in using an email, phone number, or username (and password) User profile data User can view and update profile data – including custom attributes SMS-based MFA Users complete Multi-Factor Authentication (MFA) by inputting a security code received via SMS as part of the sign-in flow Customize these user flows using Lambda
  • 11. Custom User Flows Using Lambda Hooks 11 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 if 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 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
  • 12. Custom Auth flow 12 Amazon Cognito Your User Pools Custom Authentication Challenges (e.g., CAPTCHA or custom 2nd factors) 1 2 5 6 3 4
  • 13. Extensive Admin Capabilities 13 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 like minimum length and requirements for different character types Create, configure, and delete user pools across AWS regions Require submission of attribute data Select which attributes must be provided by the user to complete sign-up Search for users Search for 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
  • 14. Remembered Devices 14 Remember the devices associated with your users 1 Reduce the friction that your users face with MFA by suppressing the 2nd factor challenge from remembered devices Build logic to associate devices with your users to achieve specific business requirements such as remote device signout 2
  • 15. Amazon Cognito User Pools and Amazon API Gateway 15 Custom Authorizer FunctionNative Support Configure API Gateway to accept Cognito user pool ID tokens to authorize users Control access to your APIs by inspecting tokens provided by Cognito user pools
  • 16. Importing Existing Users  Import users into your Cognito user pool by uploading .csv files  Users will create a new password when they first sign-in  Each imported user must have an email address or a phone number
  • 17. Control Attribute Permissions Choose which user attributes each app can read and write Read Write name phone custom:paid
  • 18. Creating Users as an Administrator  Developers or administrators can create users in a user pool and send them an optional, customizable invitation email or SMS message  New users sign in with a temporary password and create a new password  User pools can be configured to only allow users created by an administrator
  • 19. Additional User Pool Features  Customizable email addresses – Customize the "from" email address of emails you send to users in a user pool.  Admin sign-in – Your app can sign in users from back-end servers or Lambda functions.  Global sign-out – Allow a user to sign out from all signed-in devices or browsers.  Custom expiration period – Set an expiration period for refresh tokens.
  • 20. “Building an AWS serverless platform that manages sensitive customer data requires an authentication strategy that protects the information from unauthorized access. Using the Amazon Cognito user pool feature together with AWS Lambda, we’re developing a flexible, fully integrated solution that can scale effortlessly – a powerful tool that will be critical in keeping our customers’ data secure.” Feedback from our beta customers 20 “It is critical for us to provide a secure and simple sign-up and sign-in experience for our tens of millions of end users. With Amazon Cognito, we can enable that without having to worry about building and managing any backend infrastructure.”
  • 21. Demo
  • 22. Understanding User Status  New users start with “Registered” status  Users must be confirmed before they can sign-in  Users must be disabled before they can be deleted Registered (cannot sign in) Sign-up Confirmed Disabled Admin Confirm Confirm via email/phone or Disable Delete (deleted) Lambda Trigger: Pre Sign-up Reset Required User import Force Change Password Admin Create User Reset password Enable
  • 23. Verifying Email and Phone  Your User Pools provide built-in verification of email addresses and phone numbers  A six digit code is sent as an email message or SMS text and is submitted via the VerifyUserAttribute API  If both a phone number and email address are provided at sign-up, a verification code will only be sent to the phone  Your app can call GetUser to see if an email address or phone number is awaiting verification, and then call GetUserAttributeVerificationCode to initiate the verification Your verification code is 938764
  • 24. Using Aliases in Amazon Cognito User Pools  Sign-up and sign-in with email is very common today  Aliases in Amazon Cognito support use of email, phone or preferred user name in place of the user name  A username value must be provided at sign-up, but it could be generated by the app and not exposed to the end user  Phone numbers and email addresses must be unique and must be verified before they can be used to sign-in My App Email Password Sign In Sign Up
  • 25. Cognito User and Federated Identities Cognito User Identities (Your User Pool) User Sign-in1 Returns Access and ID Tokens 2 Cognito Federated Identities (Identity Pool) Get AWS scoped credentials 3 Access to AWS Services 4 DynamoDBS3 API Gateway
  • 26. Getting Started with Your User Pools See aws.amazon.com/cognito/dev-resources/ for links to  Getting Started Guides  Documentation, SDKs, and Sample Apps  Videos  Presentation Slides  Blog Posts  Developer Forums
  • 27. Q & A  Visit aws.amazon.com/cognito/ to learn more  Find resources at aws.amazon.com/cognito/dev-resources/  Ask questions at the AWS Developer Forum or Stack Overflow (‘amazon-cognito’ tag)
  • 29. AWS Resources Authentication – Supported Providers: Authorization / Permission Cognito Functional Diagram Social Identity Providers Developer Provided Enterprise Identity Provider via SAML Authenticate users and generate identity tokens Validates identity tokens and provides credentials to access AWS resources Cognito User Pool Cognito Federated Identities (Identity Pool)
  • 30. Pricing  Pricing is based on Monthly Active Users (MAUs) with volume-based discounting  A user is counted as a MAU if there is an identity operation related to that user within a calendar month (e.g., sign-up, sign-in, token refresh, or password change)  No charge for subsequent sessions or for inactive users  SMS charges are billed separately (using the SNS Global SMS feature) Pricing Tier Price per 1K MAUs First 50,000 MAUs Free Next 50,000 MAUs $5.50 Next 900,000 MAUs $4.60 Next 9,000,000 MAUs $3.25 >10,000,000 MAUs $2.50
  • 31. Amazon Cognito Sync User Data Storage and Sync Any Platform iOS/Android/FireOS Store app data, preferences, and state Save app and device data to the cloud and merge them after login Cross-device / Cross-OS Sync Sync user data and preferences across devices with a few lines of code Work offline Data always stored in local SQLite DB first Works seamlessly with intermittent or no connectivity k/v data Identity pool No back end Simple client SDK eliminates need for server side code © 2015 Amazon Web Services, Inc. and its affiliates. All rights reserved.
  • 32. Push Sync  Sync between devices in near real-time using push instead of polling  Fewer syncs = cost savings  Powered by SNS  Push changes from your backend
  • 33. Cognito Streams  Enables deeper analysis of data  Receive a stream of any updates to a dataset for each identity in your identity pool  Publishes updates to Kinesis  From Kinesis write to other destinations such as Redshift or ElasticSearch RedShift ElasticSearch KinesisCognito
  • 34. Cognito Events  Can be used to provide data validation (Cheating, Sanitization)  Can be used to inject data (Bonuses, Content)  Perform additional logic server side during a synchronize call  Full control over dataset contents LambdaCognito