View a markdown version of this page

Connexion au pool d'utilisateurs avec des fournisseurs d'identité tiers - Amazon Cognito

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.

Connexion au pool d'utilisateurs avec des fournisseurs d'identité tiers

Les utilisateurs de votre application peuvent soit se connecter directement via un groupe d'utilisateurs, soit se fédérer via un fournisseur d'identité tiers (IdP). Le groupe d'utilisateurs gère les frais liés à la gestion des jetons renvoyés par la connexion aux réseaux sociaux via Facebook, Google, Amazon et Apple, et depuis OpenID Connect (OIDC) et SAML. IdPs Grâce à l'interface utilisateur Web hébergée intégrée, Amazon Cognito assure la gestion et la gestion des jetons pour tous les utilisateurs authentifiés. IdPs Ainsi, vos systèmes backend peuvent ainsi utiliser un ensemble de jetons de groupe d'utilisateurs standard.

Fonctionnement de la connexion fédérée dans les groupes d'utilisateurs Amazon Cognito

Sign-in via une tierce partie (fédération) est disponible dans les groupes d'utilisateurs Amazon Cognito. Cette fonctionnalité est indépendante de la fédération via les groupes d'identités Amazon Cognito (identités fédérées).

Présentation de l'authentification avec connexion par les réseaux sociaux

Amazon Cognito est un répertoire d'utilisateurs et un fournisseur d'identité (IdP) OAuth 2.0. Lorsque vous connectez des utilisateurs locaux dans l'annuaire Amazon Cognito, votre groupe d'utilisateurs est un fournisseur d'identité pour votre application. Un utilisateur local existe exclusivement dans l’annuaire de votre groupe d’utilisateurs sans fédération via un fournisseur d’identité externe.

Lorsque vous connectez Amazon Cognito à un réseau social, à SAML ou à OpenID Connect (OIDC) IdPs, votre groupe d'utilisateurs fait office de passerelle entre plusieurs fournisseurs de services et votre application. Pour votre fournisseur d'identité, Amazon Cognito est un fournisseur de services. Vous IdPs transmettez un jeton d'identification OIDC ou une assertion SAML à Amazon Cognito. Amazon Cognito lit les revendications concernant votre utilisateur dans le jeton ou l'assertion et les associe à un nouveau profil d'utilisateur dans le répertoire de votre groupe d'utilisateurs.

Amazon Cognito crée ensuite un profil utilisateur pour votre utilisateur fédéré dans son propre répertoire. Amazon Cognito ajoute des attributs à votre utilisateur en fonction des déclarations de votre IdP et, dans le cas de l'OIDC et des fournisseurs d'identité sociale, d'un IdP-operated point de terminaison public. userinfo Les attributs de votre utilisateur changent dans votre groupe d'utilisateurs lorsqu'un attribut IdP mappé change. Vous pouvez également ajouter d'autres attributs indépendants de ceux du fournisseur d'identité.

Une fois qu'Amazon Cognito a créé un profil pour votre utilisateur fédéré, il change de fonction et se présente comme le fournisseur d'identité de votre application, qui est maintenant le fournisseur de services. Amazon Cognito est un fournisseur d'identité combiné basé sur OIDC et OAuth 2.0. Il génère des jetons d'accès, des jetons d'identification et des jetons d'actualisation. Pour plus d'informations sur les jetons, consultez Comprendre les jetons Web JSON (JWT) du pool d'utilisateurs.

Vous devez concevoir une application qui s'intègre à Amazon Cognito pour authentifier et autoriser vos utilisateurs, qu'ils soient fédérés ou locaux.

Responsabilités d'une application en tant que fournisseur de services Amazon Cognito

Vérification et traitement des informations contenues dans les jetons

Dans la plupart des scénarios, Amazon Cognito redirige votre utilisateur authentifié vers une URL d'application à laquelle il ajoute un code d'autorisation. Votre application échange ce code pour obtenir les jetons d'accès, d'identification et d'actualisation. Ensuite, elle doit vérifier la validité des jetons et fournir des informations à votre utilisateur en fonction des revendications contenues dans les jetons.

Réponse aux événements d'authentification avec les demandes d'API Amazon Cognito

Votre application doit s'intégrer à l'API des groupes d'utilisateurs Amazon Cognito et aux points de terminaison de l'API d'authentification. L'API d'authentification connecte et déconnecte votre utilisateur, et gère les jetons. L'API des groupes d'utilisateurs fournit diverses opérations qui gèrent votre groupe d'utilisateurs, vos utilisateurs et la sécurité de votre environnement d'authentification. Votre application doit savoir ce qu'il faut faire ensuite lorsqu'elle reçoit une réponse d'Amazon Cognito.

Informations utiles concernant la connexion tierce aux groupes d'utilisateurs Amazon Cognito

  • Si vous souhaitez que vos utilisateurs se connectent avec des fournisseurs fédérés, vous devez choisir un domaine. Cela permet de configurer les pages pour la connexion gérée. Pour de plus amples informations, veuillez consulter Utiliser votre propre domaine pour la connexion gérée.

  • Vous ne pouvez pas connecter des utilisateurs fédérés à l'aide d'opérations d'API telles que InitiateAuth et AdminInitiateAuth. Lorsque vous utilisez les flux d'authentification intégrés d'Amazon Cognito, les utilisateurs fédérés ne peuvent se connecter qu'avec le Point de terminaison de connexion ou le. Point de terminaison d’autorisation Si vous l'utilisezCUSTOM_AUTH, vos déclencheurs contrôlent le résultat. Ils sont responsables de savoir si le service émet un jeton à un utilisateur (fédéré ou non).

  • Le Point de terminaison d’autorisation est un point de terminaison de redirection. Si vous fournissez un identity_provider paramètre idp_identifier ou dans votre demande, celle-ci est redirigée silencieusement vers votre IdP, en contournant la connexion gérée. Dans le cas contraire, il redirige vers la connexion Point de terminaison de connexion gérée.

  • Lorsque la connexion gérée redirige une session vers un IdP fédéré, Amazon Cognito inclut l'user-agenten-tête Amazon/Cognito dans la demande.

  • Amazon Cognito dérive l'attribut username pour un profil d'utilisateur fédéré à partir d'une combinaison d'un identifiant fixe et du nom de votre fournisseur d'identité. Pour générer un nom d'utilisateur correspondant à vos exigences personnalisées, créez un mappage avec l'attribut preferred_username. Pour de plus amples informations, veuillez consulter Choses à savoir sur les mappages.

    Exemple : MyIDP_bob@example.com

  • Amazon Cognito crée un groupe d'utilisateurs pour chaque OIDC, SAML et IdP social que vous ajoutez à votre groupe d'utilisateurs. Le nom du groupe est au format[user pool ID]_[IdP name], par exemple us-east-1_EXAMPLE_MYSSO ouus-east-1_EXAMPLE_Google. Chaque profil utilisateur IdP unique généré automatiquement est automatiquement ajouté à ce groupe. Les utilisateurs liés ne sont pas automatiquement ajoutés à ce groupe, mais vous pouvez ajouter leurs profils au groupe dans le cadre d'un processus distinct.

  • Amazon Cognito enregistre les informations sur l'identité de votre utilisateur fédéré dans un attribut, et une revendication dans le jeton d'identification, appelée identities. Cette revendication contient le fournisseur de votre utilisateur et son identifiant unique provenant du fournisseur. Vous ne pouvez pas modifier l'attribut identities directement dans un profil utilisateur. Pour plus d'informations sur la liaison d'un utilisateur fédéré, consultez Liaison d'utilisateurs fédérés à un profil utilisateur existant.

  • Lorsque vous mettez à jour votre IdP dans une demande d'UpdateIdentityProviderAPI, vos modifications peuvent prendre jusqu'à une minute pour apparaître dans la connexion gérée.

  • Amazon Cognito prend en charge jusqu'à 20 redirections HTTP entre lui-même et votre fournisseur d'identité.

  • Lorsque votre utilisateur se connecte à l'aide d'une connexion gérée, son navigateur stocke un cookie de session de connexion crypté qui enregistre le client et le fournisseur avec lesquels il s'est connecté. S'ils tentent de se reconnecter avec les mêmes paramètres, la connexion gérée réutilise toute session existante non expirée et l'utilisateur s'authentifie sans fournir à nouveau ses informations d'identification. Si votre utilisateur se reconnecte à l'aide d'un autre fournisseur d'identité, notamment via un basculement vers ou depuis une connexion de groupe d'utilisateurs local, il doit fournir des informations d'identification et générer une nouvelle session de connexion.

    Vous pouvez attribuer n'importe quel membre de votre groupe d'utilisateurs IdPs à n'importe quel client d'application, et les utilisateurs ne peuvent se connecter qu'avec un IdP que vous avez attribué à leur client d'application.