Association d'une marque à votre application
Avec IBM Cloud® App ID, vous pouvez personnaliser l'expérience d'inscription complète de votre application en utilisant les écrans de votre propre marque. Vous pouvez remplacer le widget de connexion fourni par le vôtre, ajouter des champs supplémentaires, valider la solidité du mot de passe et vérifier les adresses électroniques à l'aide d'une liste de blocage!
Comprendre la réutilisation des écrans
Lorsque vous réutilisez vos interfaces utilisateur existantes, vous pouvez créer un flux de connexion cohérent pour votre application. En utilisant les mêmes images, couleurs et images de marque, vos utilisateurs sont plus susceptibles de reconnaître votre marque, même s'ils n'interagissent pas directement avec votre application.
Vous souhaitez utiliser une autre langue que l'anglais ? Vous pouvez choisir une autre langue en utilisant les API de gestion des langues pour afficher votre propre contenu traduit.
Quelles sont les informations que je dois obtenir avec mon écran de connexion ou d'inscription ?
Lorsque vous effectuez la demande de soumission de votre formulaire de connexion, ce formulaire doit contenir les paramètres de nom d'utilisateur et de mot de passe dans le corps de la demande. Votre page d'inscription ou d'inscription doit demander cette information à vos utilisateurs.
Puis-je utiliser certains de mes propres écrans et certains écrans par défaut ?
Oui. Vous pouvez créer un flux hybride qui utilise certains de vos écrans et certains écrans par défaut. Toutefois, vous ne pouvez utiliser qu'une seule option par flux. Par exemple, utiliser votre propre écran de connexion et également l'écran d'inscription par défaut. Mais si vous choisissez d'utiliser l'écran d'inscription par défaut, vous devez continuer à utiliser cet écran pendant l'intégralité du flux d'inscription, y compris la vérification de l'inscription.
En quoi les flux sont-ils techniquement différents ?
Le service utilise des flux d'octroi d'autorisation OAuth 2.0 pour mapper le processus d'autorisation. Lorsque vous configurez des fournisseurs d'identité sociale tels que Facebook, le flux d'autorisation est utilisé pour appeler le widget de connexion. Lorsque vous utilisez vos propres écrans, le flux "Resource Owner Password Credentials" est utilisé pour fournir des jetons d'accès et d'identité que vous pouvez utiliser pour appeler vos écrans.
Association d'une marque à votre application avec le logiciel SDK Android
Lorsque Cloud Directory est activé, vous pouvez appeler des écrans personnalisés avec le logiciel SDK Android. Vous pouvez choisir la combinaison d'écrans avec lesquels vos utilisateurs pourront interagir.
Connexion
-
Configurez vos paramètres de Cloud Directory dans la console.
-
Ajoutez le code suivant à votre application. Le flux de connexion est déclenché lorsqu'un utilisateur clique sur le bouton de connexion sur votre écran personnalisé. Vous obtenez l'accès, l'identité et les jetons de régénération en fournissant le nom d'utilisateur et le mot de passe de l'utilisateur.
AppID.getInstance().signinWithResourceOwnerPassword(getApplicationContext(), username, password, new TokenResponseListener() { @Override public void onAuthorizationFailure (AuthorizationException exception) { //Exception occurred } @Override public void onAuthorizationSuccess (AccessToken accessToken, IdentityToken identityToken, RefreshToken refreshToken) { //User authenticated } });
Association d'une marque à votre application avec le logiciel SDK iOS Swift
Lorsque Cloud Directory est activé, vous pouvez appeler vos propres écrans avec le SDK iOS Swift.
Connexion
-
Configurez vos paramètres de Cloud Directory dans la console.
-
Ajoutez le code suivant dans votre application. Lorsqu'un utilisateur tente de se connecter, votre écran de connexion est appelé et le processus d'autorisation et d'authentification commence par votre page de connexion personnalisée.
class delegate : TokenResponseDelegate { public func onAuthorizationSuccess(accessToken: AccessToken?, identityToken: IdentityToken?, response:Response?) { //User authenticated } public func onAuthorizationFailure(error: AuthorizationError) { //Exception occurred } } AppID.sharedInstance.signinWithResourceOwnerPassword(username: username, password: password, delegate: delegate())
Association d'une marque à votre application avec le logiciel SDK Node.js
Lorsque Cloud Directory est activé, vous pouvez appeler des écrans personnalisés avec le logiciel SDK Node.js.
Connexion
En utilisant WebAppStrategy, les utilisateurs peuvent se connecter à vos applications Web avec leur nom d'utilisateur et un mot de passe. Une fois qu'un utilisateur a réussi à accéder à votre application, son jeton d'accès est
conservé dans une session HTTP alors qu'il est conservé en vie. Lorsque la session HTTP est fermée ou expire, le jeton d'accès est détruit.
-
Configurez vos paramètres de Cloud Directory dans la console.
-
Ajoutez le code suivant dans votre application. Lorsqu'un utilisateur tente de se connecter, votre écran personnalisé est appelé et le processus d'autorisation et d'authentification commence.
app.post("/form/submit", bodyParser.urlencoded({extended: false}), passport.authenticate(WebAppStrategy.STRATEGY_NAME, { successRedirect: LANDING_PAGE_URL, failureRedirect: ROP_LOGIN_PAGE_URL, failureFlash : true // allow flash messages }));Paramètres de connexion Paramètre Description successRedirectURL vers laquelle rediriger l'utilisateur lorsque l'authentification réussit. failureRedirectURL vers laquelle rediriger l'utilisateur si l'authentification échoue. Les utilisateurs sont redirigés vers l'URL spécifiée lorsque les échecs d'authentification suivants se produisent:
- L'utilisateur entre un nom d'utilisateur ou un mot de passe incorrect.
- La limite du plan pour l'instance App ID a été atteinte.
failureFlashLorsque ce paramètre est défini sur true, un message d'erreur est renvoyé par le service Cloud Directory. Par défaut, la valeur est définie surfalse.Pour le voir à l'œuvre, consultez l'exemple d'application web.
Association d'une marque à votre application avec l'API
Vous pouvez afficher vos propres écrans et tirer parti des fonctions d'authentification et d'autorisation d'App ID. Si vous utilisez Cloud Directory comme fournisseur d'identité, vos utilisateurs peuvent interagir avec votre application avec peu d'aide de votre part. Ils peuvent se connecter, s'inscrire, réinitialiser leur mot de passe, etc., sans demander d'aide.
Pour rendre cette expérience possible, App ID expose les API REST. Vous pouvez utiliser les API REST pour construire un serveur de backend qui sert vos applications Web, ou pour interagir avec une application mobile avec vos propres écrans personnalisés.
L'API de gestion est sécurisée avec des jetons générés par IBM Cloud Identity and Access Management, de sorte que les propriétaires de compte peuvent spécifier le niveau d'accès de chaque membre de leur équipe pour chaque instance de service. Pour plus d'informations sur la façon dont IAM et App ID fonctionnent ensemble, voir Gestion des accès de service.
Après avoir configuré vos paramètres, vous pouvez appeler les noeuds finaux ci-dessous pour afficher chaque écran.
S'inscrire
Vous pouvez utiliser le noeud final /sign_up pour autoriser les utilisateurs à s'inscrire à votre application. Indiquez les données suivantes dans le corps de demande :
- Votre ID titulaire.
- Données utilisateur Cloud Directory avec les attributs requis suivants. Voir la représentation complète de l'utilisateur SCIM pour plus
de détails.
- Un attribut
password. - Un tableau d'
emailsavec au moins une adresse électronique et un attributprimarydéfini surtrue.
- Un attribut
Selon votre configuration de courrier électronique, il est possible qu'un utilisateur reçoive une demande de vérification et/ou un courrier de bienvenue lorsqu'il se connecte à votre application. Ces deux types de courrier électronique sont déclenchés lorsqu'un utilisateur s'inscrit à votre application. L'e-mail de vérification contient un lien sur lequel l'utilisateur peut cliquer pour confirmer son identité, un écran qui s'affiche et remercie pour la vérification ou confirme que la vérification est terminée.
Pour présenter votre propre page post-vérification :
- Accédez au fournisseur d'identité Cloud Directory dans le tableau de bord App ID.
- Cliquez sur l'onglet Vérification de l'adresse électronique.
- Dans l'URL de la page de vérification personnalisée, entrez l'URL de votre page d'arrivée.
Si cette valeur est fournie, App ID appelle l'URL au moyen d'une requête context. Lorsque vous appelez le noeud final /sign_up/confirmation_result et transmettez le paramètre context reçu, le résultat
vous indique si l'utilisateur a vérifié son compte. Si tel est le cas, vous pouvez afficher votre page personnalisée.
Mot de passe oublié
Vous pouvez utiliser le noeud final /forgot_password pour autoriser les utilisateurs à récupérer leur mot de passe s'ils l'ont oublié.
Indiquez les données suivantes dans le corps de demande :
- Votre ID titulaire.
- L'e-mail de l'utilisateur de Cloud Directory.
Lorsque le noeud final est appelé, un courrier électronique de réinitialisation de mot de passe est envoyé à l'utilisateur. Il contient un bouton Réinitialiser. Une fois que l'utilisateur a cliqué sur le bouton, App ID affiche un écran permettant à l'utilisateur de réinitialiser son mot de passe.
Vous pouvez présenter votre propre page après la réinitialisation de mot de passe :
- Configurez vos paramètres de Cloud Directory dans la console. Permettre aux utilisateurs de gérer leur compte à partir de votre application doit être défini sur Activé.
- Dans l'onglet Réinitialiser le mot de passe du tableau de bord du service, vérifiez que Courrier électronique d'oubli de mot de passe est défini sur Activé.
- Entrez l'URL de votre page d'arrivée dans la zone d'URL pour la page de réinitialisation de mot de passe personnalisée.
Si cette valeur est fournie, App ID appelle l'URL au moyen d'une requête context. Le paramètre context est utilisé pour recevoir le résultat lorsque le noeud final /forgot_password/confirmation_result est appelé. En cas de réussite, vous pouvez afficher votre page personnalisée.
Ajoutez une chaîne aléatoire à votre page de réinitialisation de mot de passe personnalisée et transmettez-la à votre système de back end lorsque la demande est soumise. Demandez à votre gestionnaire de valider la chaîne et appelez le noeud
final /change_password uniquement si elle est valide. Ainsi, vous pouvez réduire la vulnérabilité de votre noeud final de réinitialisation de mot de passe sur le système de back end.
Changement du mot de passe
Vous pouvez utiliser le noeud final /change_password de deux manières : lorsqu'un utilisateur soumet une demande de réinitialisation ou lorsqu'un utilisateur est connecté à votre application et souhaite mettre à jour son mot de
passe.
Avant d'appeler l'API /change_password pour permettre à un utilisateur de réinitialiser son mot de passe, il est fortement recommandé de vérifier que context a un résultat positif lorsque le noeud final /forgot_password/confirmation_result est utilisé. Cette opération ajoute un niveau de sécurité plus élevé à votre processus de réinitialisation de mot de passe de back end et garantit qu'un utilisateur ne peut modifier son mot de passe que si context est toujours
valide.
Pour mettre à jour le mot de passe d'un utilisateur après une demande de réinitialisation, indiquez les données suivantes dans le corps de la demande :
- Votre ID titulaire.
- Le nouveau mot de passe de l'utilisateur.
- L'identificateur unique universel de l'utilisateur de Cloud Directory.
- Facultatif : L'adresse IP à partir de laquelle la réinitialisation du mot de passe a été effectuée. Si vous choisissez de transmettre l'adresse IP, l'espace réservé
%{passwordChangeInfo.ipAddress}est disponible pour le modèle d'e-mail de changement de mot de passe.
En fonction de votre configuration, lorsqu'un mot de passe est changé, App ID envoie un courrier électronique à l'utilisateur pour lui signaler le changement.
Pour autoriser des utilisateurs à changer leur mot de passe lorsqu'ils sont connectés à votre application, indiquez les données suivantes dans le corps de la demande :
- Votre ID titulaire.
- Le nouveau mot de passe de l'utilisateur.
- L'identificateur unique universel de l'utilisateur de Cloud Directory.
Votre page de changement de mot de passe doit inviter l'utilisateur à entrer son mot de passe actuel et son nouveau mot de passe.
Votre système de back end valide le mot de passe actuel de l'utilisateur avec l'API ROP, et si celui-ci est valide, appelle le noeud final avec le nouveau mot de passe. En fonction de votre configuration, lorsqu'un mot de passe est changé, il est possible qu'App ID envoie un courrier électronique à l'utilisateur pour lui faire savoir qu'il y a eu un changement.
Renvoyer
Vous pouvez utiliser le site /resend/<templateName> pour renvoyer un courriel lorsqu'un utilisateur ne le reçoit pas pour une raison quelconque.
Indiquez les données suivantes dans le corps de demande :
- L'ID titulaire.
- Le nom de modèle.
- L'identificateur unique universel de l'utilisateur de Cloud Directory.
Changement des détails
Lorsqu'un utilisateur est connecté à votre application, il peut mettre à jour certaines de ses informations. Vous pouvez utiliser le site /Users/<userID> pour obtenir et mettre à jour leurs informations.
Lorsque les données de l'utilisateur sont mises à jour, le point final reçoit les données actualisées de l'utilisateur dans le corps de la demande au format SCIM. Veillez à modifier uniquement les détails pertinents.
L'adresse électronique des utilisateurs ne peut pas être changée.