Ajout de la connexion du groupe d'utilisateurs via un 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.

Ajout de la connexion du groupe d'utilisateurs via un tiers

Les utilisateurs de votre application peuvent soit se connecter directement via un groupe d'utilisateurs, soit fédérer via un fournisseur d'identité (IdP) tiers. Le groupe d'utilisateurs gère les frais généraux liés à la gestion des jetons renvoyés lors de 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 permet le traitement 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

La connexion via un tiers (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 pont 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 revendications de votre fournisseur d'identité et, dans le cas des fournisseurs d'identité sociale ou basé sur OIDC, un point de terminaison userinfo public géré par un fournisseur d'identité. 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 Utilisation des jetons avec des groupes 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 l'interface utilisateur hébergée Amazon Cognito et les points de terminaison OIDC et de l'interface utilisateur hébergée. Pour plus d’informations, consultez Utilisation de votre propre domaine pour l’interface utilisateur hébergée.

  • Vous ne pouvez pas connecter des utilisateurs fédérés à l'aide d'opérations d'API telles que InitiateAuthet AdminInitiateAuth. Les utilisateurs fédérés peuvent se connecter uniquement avec le Point de terminaison de connexion ou le Point de terminaison d’autorisation.

  • Le Point de terminaison d’autorisation est un point de terminaison de redirection. Si vous fournissez un paramètre idp_identifier ou identity_provider dans votre demande, il effectue une redirection silencieuse vers votre fournisseur d'identité, en contournant l'interface utilisateur hébergée. Sinon, il effectue une redirection vers le Point de terminaison de connexion de l'interface utilisateur hébergée. Pour obtenir un exemple, consultez Exemple de scénario : ajouter des applications Amazon Cognito à vos favoris dans un tableau de bord d'entreprise.

  • Lorsque l'interface utilisateur hébergée redirige une séance vers un fournisseur d'identité fédéré, Amazon Cognito inclut l'en-tête user-agent 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 plus d’informations, consultez Choses à savoir sur les mappages.

    Exemple : MyIDP_bob@example.com

  • 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 fournisseur d'identité dans une demande d'API UpdateIdentityProvider, vos modifications peuvent prendre jusqu'à une minute avant d'apparaître dans l'interface utilisateur hébergée.

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

  • Lorsque votre utilisateur se connecte via l'interface utilisateur hébergée, son navigateur stocke un cookie de session de connexion chiffré qui enregistre le client et le fournisseur avec lequel il s'est connecté. S'il tente de se reconnecter avec les mêmes paramètres, l'interface utilisateur hébergée réutilise toute session existante non expirée et l'utilisateur s'authentifie sans avoir à 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 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.