Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation d'Amazon Cognito pour les applications mobiles
La méthode préférée pour utiliser la fédération OIDC est d'utiliser Amazon Cognito
Pour permettre à l'application mobile d'accéder à ses AWS ressources, Adele enregistre d'abord un identifiant de développeur auprès de son choix IdPs. Elle configure également l'application avec chacun de ces fournisseurs. Dans le dossier Compte AWS qui contient le compartiment Amazon S3 et la table DynamoDB du jeu, Adele utilise Amazon Cognito pour créer des rôles IAM qui définissent précisément les autorisations dont le jeu a besoin. Si elle utilise un IdP OIDC, elle crée également une entité de fournisseur d'identité IAM OIDC pour établir un lien de confiance entre le pool d'identités Amazon Cognito qu'elle possède et l'IdP. Compte AWS
Dans le code de l'application, Adèle appelle l'interface de la connexion pour le fournisseur d'identité l'IdP qu'elle a configuré précédemment. Le fournisseur d'identité traite tous les détails permettant à l'utilisateur de se connecter, et l'application obtient un jeton d'accès OAuth ou jeton d'ID OIDC du fournisseur. L'application d'Adele peut échanger ces informations d'authentification contre un ensemble d'informations de sécurité temporaires comprenant un identifiant de clé d' AWS accès, une clé d'accès secrète et un jeton de session. L'application peut ensuite utiliser ces informations d'identification pour accéder aux services Web proposés par AWS. L'application est limitée aux autorisations qui sont définies dans le rôle qu'elle endosse.
La figure suivante illustre un flux simplifié d'un fonctionnement possible, à l'aide de Login with Amazon comme fournisseur d'identité. Pour l'étape 2, l'application peut également utiliser Facebook, Google ou tout fournisseur d'identité OIDC compatible, mais ce n'est pas présenté ici.
-
Un client démarre votre application sur un appareil mobile. L'application demande à l'utilisateur de se connecter.
-
L'application utilise des ressources Login with Amazon pour accepter les informations d'identification de l'utilisateur.
-
L'application utilise des opérations d'API Amazon Cognito
GetId
etGetCredentialsForIdentity
pour échanger le jeton d'ID Login with Amazon (Connexion avec Amazon) contre un jeton Amazon Cognito. Amazon Cognito, qui a été configuré pour approuver votre projet Login with Amazon (Connexion avec Amazon), génère un jeton qu'il échange contre des informations d'identification de session temporaires avec AWS STS. -
L'application reçoit des informations d'identification de sécurité temporaires d'Amazon Cognito. Votre application peut également utiliser le flux de travail de base (classique) d'Amazon Cognito pour récupérer des jetons lors de AWS STS l'utilisation.
AssumeRoleWithWebIdentity
Pour plus d'informations, consultez la rubrique Flux d'authentification des groupes d'identités (identités fédérées) dans le Guide du développeur Amazon Cognito. -
Les informations d'identification de sécurité temporaires peuvent être utilisées par l'application pour accéder aux ressources AWS requises par l'application pour fonctionner. Le rôle associé aux informations d'identification de sécurité temporaires et les politiques qui lui sont attribuées détermine ce qui est accessible.
Suivez le processus suivant pour configurer votre application afin qu'elle utilise Amazon Cognito afin d'authentifier les utilisateurs et de permettre à votre application d'accéder aux ressources. AWS Pour les étapes spécifiques permettant de réaliser ce scénario, consultez la documentation d'Amazon Cognito.
-
(Facultatif) Connectez-vous en tant que développeur auprès de Login with Amazon, Facebook, Google ou tout autre fournisseur d'identité compatible OpenID Connect (OIDC) et configurez une ou plusieurs applications avec le fournisseur. Cette étape est facultative, car Amazon Cognito prend également en charge l'accès non authentifié (invité) pour vos utilisateurs.
-
Accédez à Amazon Cognito dans le. AWS Management Console
Utilisez l'assistant Amazon Cognito pour créer un groupe d'identités, qui est un conteneur utilisé par Amazon Cognito pour maintenir des identités d'utilisateur final organisées pour vos applications. Vous pouvez partager des pools d'identité entre des applications. Lorsque vous configurez un groupe d'identités, Amazon Cognito crée un ou deux rôles IAM (un pour les identités authentifiées et un pour les identités « invitées » non authentifiées) qui définissent des autorisations pour les utilisateurs d'Amazon Cognito. -
Intégrez AWS
Amplify avec votre application et importez les fichiers requis pour utiliser Amazon Cognito. -
Créez une instance du fournisseur d'informations d'identification Amazon Cognito en transmettant l'ID de groupe d'identité, votre numéro d' Compte AWS et l'Amazon Resource Name (ARN) des rôles que vous avez associés au groupe d'identités. L'assistant Amazon Cognito AWS Management Console fournit un exemple de code pour vous aider à démarrer.
-
Lorsque votre application accède à une AWS ressource, transmettez l'instance du fournisseur d'informations d'identification à l'objet client, qui transmet les informations de sécurité temporaires au client. Les autorisations pour les informations d'identification sont basées sur le ou les rôles que vous avez définis précédemment.
Pour plus d’informations, consultez les ressources suivantes :
-
Connectez-vous (Android)
dans la documentation du AWS Amplify framework. -
Connectez-vous (iOS)
dans la documentation du AWS Amplify framework.