Pré-enregistrement de futurs utilisateurs
Avec IBM Cloud® App ID, vous pouvez commencer à créer un profil pour les futurs utilisateurs qui nécessiteront un accès à votre application avant leur toute première connexion.
Pour en savoir plus sur les considérations applicables en matière de sécurité lorsque vous utilisez des attributs personnalisés, voir la rubrique sur le stockage et l'accès aux profils utilisateur.
Comprendre le pré-enregistrement
Lorsque vous développez une application, il peut arriver que vous connaissiez déjà les personnes qui l'utiliseront. Ces utilisateurs sont désignés par "futurs utilisateurs". Vous pouvez également savoir à l'avance si certains utilisateurs
ont besoin de niveaux d'autorisation spécifiques ou d'une préférence alimentaire avant même qu'ils commencent à interagir avec votre application. Par exemple, vous travaillez pour une entreprise de développement et vous embauchez une nouvelle
personne en tant que chef d'équipe. Vous envisagerez éventuellement d'affecter à cet utilisateur l'accès admin à votre application avant qu'il commence. Ainsi, lorsqu'il se connectera pour la première fois, il pourra immédiatement
commencer à travailler sans interaction supplémentaire de votre part. Admettons que la même personne soit végétarienne. En notant cette préférence sous forme d'attribut personnalisé dans son profil, celle-ci pourra être prise en compte pour
tous les déjeuners de l'équipe sans que l'utilisateur ait besoin de vous le rappeler.
Par défaut, la possibilité des utilisateurs de modifier eux-mêmes leurs attributs personnalisés via l'application est désactivée. Vous pouvez leur donner cette possibilité mais avant, vous devez vous assurer de connaître et de tenir en compte des problèmes de sécurité pouvant se poser.
Pour affecter des attributs personnalisés à de futurs utilisateurs, vous pouvez utiliser l'interface graphique ou le noeud final de pré-enregistrement.
Comment les utilisateurs sont-ils identifiés ?
Vous pouvez identifier vos utilisateurs avec l'un des éléments suivants :
- L'adresse e-mail avec laquelle l'utilisateur se connecte à votre application.
- Le cas échéant, l'ID unique de l'utilisateur, nommé GUID, dans le fournisseur d'identité. Bien que cet identifiant existe toujours et qu'il soit garanti unique, il n'est pas toujours facilement accessible ou simple à comprendre. Par exemple, Cloud Directory utilise un ID global unique aléatoire de 16 octets.
Quelles informations fournit le fournisseur d'identité ?
Consultez le tableau suivant pour voir quel type d'informations d'identité vous pouvez utiliser.
| Fournisseur d"identité | GUID | Adresse électronique | Sub |
|---|---|---|---|
| Cloud Directory | |||
| SAML | |||
| Personnalisé |
Comment est géré Cloud Directory ?
Pour garantir l'intégrité d'un futur utilisateur, Cloud Directory impose des exigences en matière de pré-enregistrement.
- Pour ajouter l'utilisateur, vous devez utiliser une adresse e-mail et non pas un nom d'utilisateur. Si vous ne disposez d'aucun utilisateur pour le moment, passez en mode Adresse électronique et mot de passe pour ajouter les futurs utilisateurs. Si vous disposez d'utilisateurs, vous devez patienter jusqu'à leur première connexion pour affecter des attributs personnalisés.
- L'utilisateur doit confirmer son identité via une vérification. Lorsque vous ajoutez un futur utilisateur avec des attributs spécifiques, ces attributs concernent uniquement cette personne. Tout utilisateur qui se connecte avec une adresse
e-mail enregistrée pour un futur utilisateur doit vérifier son adresse e-mail pour pouvoir obtenir l'accès à votre application. Pour satisfaire aux exigences liées à cette vérification, vous pouvez envoyer un courrier électronique pour
que l'utilisateur puisse vérifier son adresse ou la vérifier vous-même manuellement pour lui. Pour permettre l'auto-vérification, définissez Vérification de l'adresse électronique sur Activé dans l'onglet
Cloud Directory du tableau de bord du service. Cette option entraîne l'envoi d'un courrier électronique à l'utilisateur pour demander la vérification lors de leur première connexion. Pour vérifier les utilisateurs manuellement,
vous devez être administrateur. Demander aux API de gestion de l' annuaire du nuage de définir le champ
statusde la charge utile comme étantCONFIRMED.
Si un futur utilisateur est ajouté par vos soins et se connecte à votre application sans avoir vérifié son adresse e-mail, ses attributs personnalisés sont supprimés et le profil est créé de toute pièce.
Dois-je faire quelque chose de spécial lorsque j'utilise un fournisseur d'identité personnalisé ?
Lorsque vous ajoutez à l'avance des informations utilisateur à votre application, vous pouvez utiliser n'importe quel identificateur unique fourni par le flux d'authentification. L'identificateur doit_exactement_ correspondre sub au jeton Web JSON signé qui est envoyé lors de la demande d'autorisation. Si l'identificateur ne correspond pas, la liaison du profil que vous souhaitez ajouter n'aboutit pas.
Ajout d'un futur utilisateur
Maintenant que vous connaissez le processus et vos implications en matière de sécurité, essayez d’ajouter un utilisateur.
Les attributs prédéfinis d'un utilisateur sont vides jusqu'à sa première authentification. Malgré cela, l'utilisateur n'en demeure pas moins entièrement authentifié. Vous pouvez utiliser son ID de profil comme vous le feriez pour une personne qui se serait déjà connectée. Par exemple, vous pouvez modifier, rechercher ou supprimer le profil.
Avant de commencer
Avant de commencer, vous devez disposer des informations suivantes :
- Le fournisseur d'identité qui sera utilisé par l'utilisateur pour se connecter.
- L'adresse e-mail de l'utilisateur que vous souhaitez ajouter ou son identificateur unique.
- Les informations sur les attributs personnalisés que vous souhaitez affecter.
Avec l'interface graphique
Vous pouvez ajouter un futur utilisateur et ses attributs personnalisés en utilisant l'interface graphique.
La possibilité d'ajouter de futurs utilisateurs est désactivée pour la configuration avec nom d'utilisateur et mot de passe de Cloud Directory.
-
Accédez à l'onglet Profils d'utilisateur du tableau de bord App ID.
-
Cliquez sur Futurs utilisateurs. Si vous disposez déjà de futurs utilisateurs, vous voyez un tableau avec la liste des utilisateurs que vous avez déjà ajoutés. Pour ajouter un autre utilisateur, cliquez sur Créer un profil. Si vous ne disposez d'aucun utilisateur pour le moment, cliquez sur Démarrage. Un écran s'ouvre.
-
Entrez votre adresse e-mail.
-
Sélectionnez le fournisseur d'identité qu'il utilisera pour se connecter dans la liste déroulante Fournisseur d'identité.
-
Ajoutez des attributs personnalisés en entrant les informations dans un objet JSON comme illustré dans l'exemple suivant.
{ "food": "Pizza", "preference": "Vegetarian", "points": "37" } -
Cliquez sur Sauvegarder. Le tableau s'affiche et un identificateur est attribué à l'utilisateur.
Avec l'API
Vous pouvez ajouter un futur utilisateur et ses attributs personnalisés en utilisant l'API.
-
Connectez-vous à IBM Cloud.
ibmcloud login -
Recherchez votre jeton IAM en exécutant la commande suivante.
ibmcloud iam oauth-tokens -
Envoyez une requête POST au noeud final
/userscontenant une description de l'utilisateur et des attributs que vous souhaitez définir comme objet JSON.En-tête :
POST <managementUrl>/management/v4/<tenantID>/users Host: <managementServerURL> Authorization: 'Bearer <IAMToken>' Content-Type: application/jsonCorps :
{ "idp": "<identityProvider>", "idp-identity": "<userUniqueIdentifier>", "profile": { "attributes": { "mealPreference":"vegeterian" } } }Les composants de la demande POST Composants Description idpFournisseur d'identité avec lequel l'utilisateur s'authentifie. Les options sont les suivantes : saml,cloud_directory,facebook,google,appid_custom.idp-identityIdentificateur unique fourni par le fournisseur d'identité. profileProfil utilisateur contenant le mappage JSON des attributs personnalisés. Exemple de demande :
$ curl --request POST \ --url 'https://<managementURI>/users \ --header 'Authorization: Bearer <IAMToken>' \ --header 'Content-Type: application/json' \ --data '{"idp": "saml", "idp-identity": "user@ibm.com", "profile": { "attributes": { "role": "admin", "frequent_flyer_points": 1000 }}}' -
Vérifiez que l'enregistrement a abouti.
-
Recherchez le profil utilisateur qui a été créé.
curl --request GET https://us-south.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userProfileId>/profile \ --header 'Authorization: Bearer <IAMToken>' \ --header 'Content-Type: application/json' \ -
Recherchez l'ID utilisateur dans la réponse.
{ "id": "5ce78e09-1356-4ef8-a45d-808b633101db", "identities": [], "attributes": { "role": "manager" } }
-
Etapes suivantes
Maintenant que vous avez associé un futur utilisateur à des attributs spécifiques, essayez d'accéder aux attributs ou de les mettre à jour.