Amazon Cognito के साथ end users को authenticate करना

AWS पर एप्लिकेशन डिप्लॉय करना

Dunieski Otano

Amazon Web Services Solutions Architect

क्या अपना लॉगिन बनाएँ?

  • नए ऐप को पूरा sign-up और sign-in चाहिए
  • टीम auth शूरू से बनाना चाहती है
  • Cognito यह काम पहले से सुरक्षित तरीके से करता है

कस्टम लॉगिन बनाने के बजाय managed Amazon Cognito authentication चुनना

AWS पर एप्लिकेशन डिप्लॉय करना

User pools बनाम identity pools

बाएँ: Cognito User Pool एक user directory के रूप में tokens जारी करता है, बीच में Identity Pool validated token के बदले अस्थायी AWS credentials देता है, दाएँ AWS services

  • User pool: end users की managed directory
  • Sign-up, sign-in संभालता है और tokens जारी करता है
  • Identity pool: login के बदले AWS credentials देता है
  • साथ में उपयोग करें: पहले authenticate, फिर AWS access authorize करें
AWS पर एप्लिकेशन डिप्लॉय करना

Cognito के तीन tokens

  • ID token: user कौन है (identity claims)
  • Access token: user क्या कॉल कर सकता है
  • Refresh token: बिना दोबारा login किए नए tokens लें
  • तीनों JWTs हैं जिन्हें आप decode और validate कर सकते हैं

तीन Cognito JWT tokens साथ-साथ: ID token में identity claims, access token में API permission scopes, refresh token लंबे समय का, silent renewal के लिए

AWS पर एप्लिकेशन डिप्लॉय करना

Federated identity

  • Federation: किसी external identity provider से sign in
  • Social: Google, Facebook, Apple
  • Enterprise: SAML और OIDC providers
  • Cognito trust broker करता है और अपने tokens जारी करता है

Cognito federation: user social provider (Google, Facebook) या enterprise SAML/OIDC provider चुनता है, Cognito external login validate कर अपने standard tokens जारी करता है

AWS पर एप्लिकेशन डिप्लॉय करना

API Gateway authorizer के रूप में Cognito

API Gateway Cognito authorizer: client Authorization header में access token भेजता है, gateway user pool के विरुद्ध validate करता है, invalid tokens को 401 के साथ अस्वीकार किया जाता है

  • API Gateway Cognito authorizer उपयोग कर सकता है
  • Client अपना token Authorization header में भेजता है
  • Backend चलने से पहले API Gateway token validate करता है
  • Invalid या expired tokens edge पर ही अस्वीकार होते हैं
AWS पर एप्लिकेशन डिप्लॉय करना

Typical sign-in से API-call फ्लो

  • User user pool में sign in करता है
  • ID, access और refresh tokens मिलते हैं
  • Client access token के साथ API Gateway कॉल करता है
  • Cognito authorizer validate करता है, फिर backend चलता है

Sign-in से API-call फ्लो: user user pool में sign in कर tokens पाता है, client access token API Gateway को भेजता है, Cognito authorizer इसे validate करता है, backend Lambda चलता है

AWS पर एप्लिकेशन डिप्लॉय करना

Cognito की आम गलतियाँ

  • जहाँ access token चाहिए, वहाँ ID token भेज देना
  • User pools और identity pools में भ्रम
  • केवल user pool से AWS access authorize करने की कोशिश
  • Client पर tokens असुरक्षित तरह से स्टोर करना

आम Cognito गलतियाँ: access token की जगह ID token API को भेजना, user pool और identity pool में भ्रम, और client पर tokens असुरक्षित रूप से स्टोर करना

AWS पर एप्लिकेशन डिप्लॉय करना

अभ्यास करते हैं!

AWS पर एप्लिकेशन डिप्लॉय करना

Preparing Video For Download...