Authentification anonyme

Avec IBM Cloud® App ID, vous pouvez permettre aux utilisateurs de naviguer anonymement dans votre application par le biais d'un profil d'invité. Si l'utilisateur choisit de se connecter, vous pouvez lui permettre de continuer à accéder à ses attributs anonymes en attachant son profil d'invité anonyme à son identité d'utilisateur à l'aide de App ID.

Présentation de l'authentification progressive

Lorsqu'un utilisateur choisit de ne pas se connecter immédiatement, il est considéré comme étant un utilisateur anonyme. Par exemple, supposons que vous vendiez des produits en ligne et que vous souhaitiez autoriser les visiteurs à ajouter des articles dans leur panier sans qu'ils soient connectés. Toutefois, vous souhaitez leur demander de se connecter pour terminer leurs achats. Si un utilisateur décide de se connecter, vous pouvez lui permettre d'accéder aux articles qu'il avait placés dans son panier avant de se connecter.

Vous pouvez utiliser App ID pour collecter des informations sur les utilisateurs anonymes et les placer dans un profil utilisateur anonyme qui permet de personnaliser leur expérience de votre application. Si l'utilisateur décide de se connecter, vous pouvez associer les attributs utilisateur figurant dans le profil anonyme à son identité d'utilisateur stockée dans App ID. Les profils anonymes sont valides temporairement. Lorsque vous développez votre application, vous pouvez configurer la durée de vie des jetons anonymes.

Lorsqu'un utilisateur se connecte, il devient un utilisateur identifié. Si un profil utilisateur identifié n'existe pas, vous pouvez le créer. Une fois qu'un utilisateur est identifié, App ID émet de nouveaux jetons d'accès et d'identité et son jeton anonyme n'est plus valide. Toutefois, un utilisateur identifié peut toujours accéder aux attributs de son profil anonyme car ils sont accessibles avec les nouveaux jetons d'accès et d'identité.

Les attributs d'un seul profil anonyme peuvent être associés à l'identité de l'utilisateur stockée dans App ID. Par exemple, supposons qu'un utilisateur parcoure votre application de manière anonyme dans deux onglets de navigateur distincts. L'utilisateur ajoute un t-shirt dans son panier sur le premier onglet et une paire de shorts dans son panier dans le deuxième onglet. App ID crée deux profils anonymes distincts pour suivre les interactions de l'utilisateur avec votre application sur chaque onglet.

Si l'utilisateur décide de se connecter à partir du premier onglet, il ne peut accéder qu'au t-shirt qu'il a ajouté à son panier avant de se connecter. Dans ce cas, App ID associe uniquement les attributs du profil anonyme dans le premier onglet à l'identité de l'utilisateur. Le service ne fusionne pas le profil anonyme créé dans le second onglet avec l'identité de l'utilisateur stockée dans App ID. Toutefois, l'utilisateur peut toujours accéder anonymement au short dans le second onglet car cet article reste accessible avec le profil anonyme créé dans le second onglet. Lorsque vous développez votre application, vous pouvez configurer comment les attributs anonymes sont associés à des profils utilisateur identifiés.

A quoi ressemble le flux d'authentification progressive ? 

L'image ci-dessous présente le sens de la communication qui définit le flux d'authentification progressive entre l'utilisateur, votre application, App ID et le fournisseur d'identité.

Le chemin à parcourir pour devenir un utilisateur identifié lorsqu'il commence comme anonyme*Flux d'authentification
de l'
anonyme*

  1. L'utilisateur interagit avec des parties de votre application qui ne nécessitent pas d'authentification.
  2. Votre application signale à App ID que l'utilisateur souhaite interagir avec votre application en tant qu'utilisateur anonyme.
  3. App ID crée un profil utilisateur ad hoc et appelle la connexion OAuth qui émet des jetons anonymes pour l'utilisateur anonyme.
  4. A l'aide des jetons anonymes d'App ID, vous pouvez créer, lire, mettre à jour et supprimer les attributs stockés dans le profil utilisateur anonyme.
  5. L'utilisateur peut décider de se connecter pour accéder à d'autres fonctions de votre application.
  6. Votre application signale à App ID que l'utilisateur souhaite interagir avec votre application en tant qu'utilisateur identifié.
  7. App ID renvoie le widget de connexion à votre application.
  8. L'utilisateur sélectionne son fournisseur d'identité préféré et entre ses données d'identification.
  9. Votre application signale à App ID que l'utilisateur a sélectionné un fournisseur d'identité.
  10. App ID authentifie l'appel avec le fournisseur d'identité.
  11. Le fournisseur d'identité vérifie si la connexion a abouti.
  12. App ID utilise le jeton anonyme pour trouver le profil anonyme et y associe l'identité de l'utilisateur.
  13. Une fois qu'App ID a créé les jetons, le service invalide le jeton anonyme de l'utilisateur.
  14. App ID renvoie les nouveaux jetons d'accès et d'identité. Les nouveaux jetons contiennent les informations publiques partagées par le fournisseur d'identité et les attributs du profil précédemment anonyme de l'utilisateur.
  15. L'utilisateur est autorisé à accéder à votre application.