Configuration d'un client d'application pour un groupe d'utilisateurs.
Après avoir créé un groupe d'utilisateurs, vous pouvez configurer un client d'application afin d'utiliser les pages web intégrées pour inscrire et connecter les utilisateurs. Pour la terminologie, consultez Terminologie des paramètres du client d'application.
Vous pouvez utiliser l'AWS CLI pour mettre à jour, créer, modifier, décrire et supprimer votre client d'application pour groupe d'utilisateurs.
Remplacez « MyUsergroupeID
» et « MyAppClientID
» par votre groupe d'utilisateurs et les valeur de votre ID de client d'application dans ces exemples. De la même manière, les valeurs de vos paramètres peuvent être différentes de celles utilisées dans ces exemples.
Utilisez le format JSON pour les URL de rappel et de déconnexion afin d'empêcher la CLI de les traiter comme des fichiers de paramètre à distance :
--callback-urls
"["
https://example.com
"]"
--logout-urls
"["
https://example.com
"]"
Mise à jour d'un client d'application pour un groupe d'utilisateurs (AWS CLI et API AWS)
Dans le AWS CLI, saisissez la commande suivante :
aws cognito-idp update-user-pool-client --user-pool-id "
MyUserPoolID
" --client-id "MyAppClientID
" --allowed-o-auth-flows-user-pool-client --allowed-o-auth-flows "code" "implicit" --allowed-o-auth-scopes "openid" --callback-urls "["https://example.com
"]" --supported-identity-providers "["MySAMLIdP", "LoginWithAmazon"]"
Si la commande est réussie, l'AWS CLI renvoie une confirmation :
{ "UserPoolClient": { "ClientId": "
MyClientID
", "SupportedIdentityProviders": [ "LoginWithAmazon", "MySAMLIdP" ], "CallbackURLs": [ "https://example.com
" ], "AllowedOAuthScopes": [ "openid" ], "ClientName": "Example", "AllowedOAuthFlows": [ "implicit", "code" ], "RefreshTokenValidity": 30, "CreationDate": 1524628110.29, "AllowedOAuthFlowsUserPoolClient": true, "UserPoolId": "MyUserPoolID
", "LastModifiedDate": 1530055177.553 } }
Pour plus d'informations, consultez la référence de la commande AWS CLI : update-user-pool-client.
API AWS : UpdateUserPoolClient
Création d'un client d'application d'un groupe d'utilisateurs (AWS CLI et API AWS)
aws cognito-idp create-user-pool-client --user-pool-id
MyUserPoolID
--client-namemyApp
Pour plus d'informations, consultez la référence de la commande AWS CLI : create-user-pool-client.
API AWS : CreateUserPoolClient
Collecte d'informations sur un client d'application d'un groupe d'utilisateurs (AWS CLI et API AWS)
aws cognito-idp describe-user-pool-client --user-pool-id
MyUserPoolID
--client-idMyClientID
Pour plus d'informations, consultez la référence de la commande AWS CLI : describe-user-pool-client.
API AWS : DescribeUserPoolClient
Liste de l'ensemble des informations sur un client d'application dans un groupe d'utilisateurs (AWS CLI et API AWS)
aws cognito-idp list-user-pool-clients --user-pool-id "
MyUserPoolID
" --max-results 3
Pour plus d'informations, consultez la référence de la commande AWS CLI : list-user-pool-clients.
API AWS : ListUserPoolClients
Suppression d'un client d'application d'un groupe d'utilisateurs (AWS CLI et API AWS)
aws cognito-idp delete-user-pool-client --user-pool-id "
MyUserPoolID
" --client-id "MyAppClientID
"
Pour plus d'informations, consultez la référence de la commande AWS CLI : delete-user-pool-client.
API AWS : DeleteUserPoolClient
Terminologie des paramètres d'un client d'application
Les termes et définitions suivants peuvent vous aider à configurer votre client d'application.
- Enabled Identity Providers
-
Vous pouvez choisir votre fournisseur d'identité (IdP) pour authentifier vos utilisateurs. Ce service peut être effectué par votre groupe d'utilisateurs ou par un tiers tel que Facebook. Avant de pouvoir utiliser un fournisseur d'identité (IdP), vous devez l'activer. Vous pouvez activer plusieurs fournisseurs d'identité, mais vous devez en activer au moins un. Pour plus de détails sur l'utilisation de fournisseurs d'identité externes, consultez Ajout de la connexion du groupe d'utilisateurs via un tiers.
- Callback URL(s)
-
Une URL de rappel indique où l'utilisateur doit être redirigé lorsque la connexion aboutit. Choisissez au moins une URL de rappel. L'URL de rappel doit :
-
Être un URI absolu.
-
Être pré-enregistré auprès d'un client.
-
Ne pas inclure un composant de fragment.
Veuillez consulter OAuth 2.0 - Point de terminaison de redirection
. Amazon Cognito exige
HTTPS
plutôt queHTTP
, sauf pourhttp://localhost
à des fins de test uniquement.Les URL de rappel d'application comme
myapp://example
sont également prises en charge. -
- Sign out URL(s)
-
Une URL de déconnexion indique où l'utilisateur doit être redirigé après la déconnexion.
- Flux OAuth autorisés
-
Le flux Authorization code grant (Octroi de code d'autorisation) établit un flux d'octroi de codes, qui fournit une réponse sous forme de code d'autorisation. Ce code peut être échangé contre des jetons d'accès avec le Point de terminaison TOKEN. Étant donné que les jetons ne sont jamais exposés directement à un utilisateur final, ils sont moins susceptibles d'être compromis. Toutefois, une application personnalisée est requise au niveau du backend pour échanger le code d'autorisation contre des jetons de groupe d'utilisateurs.
Note Pour des raisons de sécurité, nous vous recommandons vivement d'utiliser ce flux Octroi de code d'autorisation uniquement avec PKCE
pour les applications mobiles. Le flux Octroi implicite permet au client d'obtenir le jeton d'accès (et, éventuellement, le jeton d'identification, en fonction des portées) directement à partir de Point de terminaison AUTORISATION. Choisissez ce flux uniquement si votre application ne peut pas initier le flux Octroi de code d'autorisation. Pour plus d'informations, consultez la page des spécifications OAuth 2.0
. Vous pouvez activer Authorization code grant (Octroi de code d'autorisation) et Implicit code grant (Octroi de code implicite), puis utiliser chaque octroi selon vos besoins.
Le flux Client credentials (Informations d'identification client) est utilisé pour des communications machine à machine. Il vous permet de demander un jeton d'accès pour accéder à vos propres ressources. Utilisez ce flux lorsque votre application demande le jeton pour elle-même et non pas pour un utilisateur.
Note Dans la mesure où le flux d'informations d'identification n'est pas utilisé au nom d'un utilisateur, seules les règles personnalisées peuvent être utilisées avec ce flux. Une règle personnalisée est une règle que vous définissez pour votre propre serveur de ressources. Veuillez consulter Définition des serveurs de ressources de votre groupe d'utilisateurs.
- Allowed OAuth Scopes
-
Choisissez un ou plusieurs des paramètres scope
OAuth
suivants pour spécifier les privilèges d'accès qui peuvent être demandés pour les jetons d'accès.-
Le paramètre scope
phone
accorde l'accès aux réclamationsphone_number
etphone_number_verified
. Cette portée peut uniquement être demandée avec le paramètre scopeopenid
. -
Le paramètre scope
email
accorde l'accès aux réclamationsemail
etemail_verified
. Cette portée peut uniquement être demandée avec le paramètre scopeopenid
. -
Le paramètre scope
openid
renvoie tous les attributs d'utilisateur dans le jeton d'identification pouvant être lus par le client. Le jeton d'ID n'est pas renvoyé si le paramètre de portéeopenid
n'est pas demandé par le client. -
La portée
aws.cognito.signin.user.admin
accorde l'accès aux opérations de l'API du groupe d'utilisateurs Amazon Cognito qui nécessitent des jetons d'accès, tels que UpdateUserAttributes et VerifyUserAttribute. -
Le paramètre scope
profile
accorde l'accès à tous les attributs utilisateurs pouvant être lus par le client. Cette portée peut uniquement être demandée avec le paramètre scopeopenid
.
-
- Portées personnalisées autorisées
-
Une règle personnalisée est une règle que vous définissez pour votre propre serveur de ressources dans le Serveur de ressources. Le format est
ressource-serveur-identificateur
/portée
. Veuillez consulter Définition des serveurs de ressources de votre groupe d'utilisateurs.
Pour plus d'informations sur les portées OAuth, consultez la liste des portées OIDC standard