Preuve d'identité pour les cas d'utilisation autonomes

Preuve d'identité autonome

Introduction

IBM Verify a la capacité de s'intégrer avec les fournisseurs de justificatifs d'identité basés sur l'OIDC à des applications externes. Cela permet aux clients d'intégrer la vérification de l'identité dans leurs propres applications. Il s'agit d'une option plus souple qui nécessite une plus grande attention à la vérification de l'identité parce qu'elle repose sur des efforts de développement externes.

Prérequis

  1. Un compte auprès d'un fournisseur de preuves d'identité basé à l'OIDC.
  2. Les informations d'identification et les points d'extrémité de la connexion OIDC.
    • ID de client
    • Secret
    • URL des métadonnées
    • Emetteur
    • Noeud final d'autorisation
    • Noeud final de jeton
    • etc
  3. Un locataire IBM Verify

Configuration du fournisseur OIDC

Dans l'interface d'administration de IBM Verify, naviguez dans le panneau de droite vers les intégrations et sélectionnez les fournisseurs OIDC.

254

Cliquez sur Créer un fournisseur OIDC. Vérifiez que l'option Identity proofing est activée. Cliquez sur Suivant.

2396

Sur la page suivante, dans la tuile de configuration, saisissez un nom pour l'intégration dans le champ Nom du fournisseur OIDC. En option, vous pouvez ajouter des informations de contact. Cliquez sur Suivant.

2396

Saisissez toutes les informations d'identification de la connexion OIDC, les points d'extrémité et les autres informations dont vous disposez sur le fournisseur. Cliquez sur Créer pour créer le fournisseur OIDC sur le locataire.

3202

Une fois le fournisseur OIDC créé, modifiez-le pour ajouter une transformation sortante d'autorisation et une transformation entrante de jeton correspondantes. Faites défiler jusqu'à la section Ressources et cliquez sur Ajouter une transformation sous Autorisation transformation sortante.

2944

Dans l'interface, vous pouvez configurer des attributs sortants qui correspondent à l'entrée d'un fournisseur de preuves d'identité en tant que paramètre de chaîne de requête login_hint. Ce processus est mis en œuvre à l'aide de règles scriptées par Verify, ce qui permet de convertir les attributs reconnus par IBM Verify en attributs utilisés par le vendeur.

3200

Autorisation Transformation sortante Exemple :

statements:
  - context: fname := args.body.given_name
  - context: lname := args.body.family_name
  - context: telephone := args.body.mobile_number
  - context: email := args.body.email
  - context: clientid := args.body.client_id
  - context: dialCode := "1"
  - context: output := {}
  - context: loginhint := {}
  - if:
      match: context.client_id != ""
      block:
        - context: loginhint = context.loginhint.put('credential',context.clientid)
        - context: loginhint = context.loginhint.put('sub',context.clientid)
  - if:
      match: context.fname != ""
      block:
        - context: loginhint = context.loginhint.put('fname',context.fname)
  - if:
      match: context.lname != ""
      block:
        - context: loginhint = context.loginhint.put('lname',context.lname)
  - if:
      match: context.telephone != ""
      block:
        - context: loginhint = context.loginhint.put('telephone',context.telephone)
  - if:
      match: context.email != ""
      block:
        - context: loginhint = context.loginhint.put('email',context.email)
  - if:
      match: context.dialCode != ""
      block:
        - context: dialCode = context.telephone.replaceAll("-","")
        - context: dialCode = context.dialCode.replaceAll("(","")
        - context: dialCode = context.dialCode.replaceAll(")","")
        - context: dialCode = context.dialCode.replaceAll(" ","")
        - context: dialCode = context.dialCode.replaceAll("+","")
        - context: 'dialCode := context.dialCode.size() > 10 ? context.dialCode.substring(0,context.dialCode.size()-10) : "1"'
        - context: output = context.output.put('dialCode',context.dialCode)
  - context: loginhint = jwt.key('secretkey').sign(context.loginhint,{'alg':'HS256'})
  - context: output = context.output.put('login_hint',context.loginhint)
  - return: jsonToString(context.output)

Cliquez sur Confirm pour créer la transformation sortante d'autorisation. La dernière étape consiste à configurer le Token Incoming Transform. Cliquez sur Add transform sous Token Incoming Transform.

2946

Dans l'interface, il est possible de configurer le mappage des attributs de réponse pour convertir les valeurs reçues d'un fournisseur de preuves d'identité dans un format compatible avec IBM Verify. Cartographier la décision à partir du flux de vérification de l'identité en extrayant la valeur de la réponse attendue du fournisseur. Les valeurs autorisées sont approuver, refuser ou obliger.

3200

Transformations entrantes Token Exemple :

statements:
  - context: decision := args.body.id_token.policyDecision
  - context: output := {}
  - context: attributes := {}
  - if:
      match: context.decision == "approve"
      block:
        - context: output = context.output.put('decision',context.decision)
  - if:
      match: context.decision == "obligate"
      block:
        - context: output = context.output.put('decision',context.decision)
  - context: output = context.output.put('attributes', context.attributes)
  - return: jsonToString(context.output)

Cliquez sur Confirm pour créer la transformation sortante d'autorisation. Cliquez sur Enregistrer les modifications pour terminer la modification du fournisseur OIDC du locataire.

Configurer le flux de vérification de l'identité

Dans l'interface d'administration de IBM Verify, naviguez vers Expérience utilisateur et cliquez sur Vérification de l'identité.

256

Cliquez sur Créer un flux. Dans la tuile de configuration, saisissez un nom pour le flux dans le champ Nom et modifiez éventuellement le champ URL chemin. Définir la langue principale. L'activation du paramètre Inclure l'étape de collecte des attributs ajoute une page au flux de vérification de l'identité qui collectera les attributs. L'activation du paramètre Envoyer les attributs à un tiers prend les attributs et les envoie au fournisseur de preuves d'identité. Sélectionnez le thème qui sera utilisé pour ce flux.

1029

Faites défiler jusqu'à la section Configuration. Le type sera oidc. L' identifiant d'intégration sera le fournisseur OIDC qui a été créé dans la section Configurer le fournisseur OIDC.

La dernière section concerne la vérification humaine, où vous pouvez configurer reCAPTCHA pour le flux. Cliquez sur Démarrer la construction du flux.

1022

Vous pouvez à présent définir l'aspect et la convivialité du flux. Vous pouvez alors ajouter des attributs pour la collection, modifier le texte et les traductions. Une fois les modifications effectuées, enregistrez le flux en cliquant sur Enregistrer les modifications, puis publiez le flux en cliquant sur Publier.

1023

Avant d'utiliser cette page, il faut l'intégrer dans un flux d'enregistrement et le vendeur doit être conscient de la redirection URL.

Enregistrer l'url de redirection

Cette étape varie en fonction du fournisseur de justificatifs d'identité de l'OIDC. Dans la configuration des vendeurs, il y aura un endroit pour ajouter des urls de redirection valides. Vous devez y ajouter l'url du flux de vérification d'identité que vous avez configuré à l'étape précédente.

Exemple : https://idproofing.verify.ibm.com/profile/v3.0/flows/identity_proofing/test-identity-proofing

Configurer l'intégration d'une application

Dans l'application avec laquelle vous souhaitez intégrer la vérification d'identité, ajoutez une invocation pour rediriger vers votre flux de vérification d'identité. Il doit inclure le paramètre de chaîne de requête callback_url afin que le flux sache où revenir une fois terminé.

Par exemple

<Button href="https://idproofing.verify.ibm.com/profile/v3.0/flows/identity_proofing/identity-proofing-test?callback_url=https%3A%2F%2Fapp.example.com%2F%23%2Fidentity-proofing-response" type="button">Prove Identity</Button>

Cela lancera le flux, mais vous devrez configurer votre serveur pour qu'il envoie une demande à l'API des résultats en retour. Demandez à votre serveur d'appeler l'API ci-dessous :

"https://idproofing.verify.ibm.com/profile/v3.0/flows/identity_proofing/identity-proofing-test/results/" + resultsId;

L'identifiant des résultats sera un paramètre de chaîne de requête renvoyé lors de l'appel au flux de vérification de l'identité.

La réponse comprendra trois parties basées sur les règles de script Verify qui ont été écrites pour le mappage des attributs de la réponse.

{
    "decision": "approve",
    "vendorResponse": {
        // raw vendor response here
    },
    "processedAttributeMapping": {
        // Verify scripted rules transformed vendor response
    }
}

En fonction du fournisseur et de la transformation des règles de Verify scripted, il se peut que vous souhaitiez traiter des données différentes dans votre application. La décision de premier niveau de la cartographie de décision des règles de vérification est également affichée pour un traitement rapide.

Essayer

Essayez-le en vous rendant à l'adresse URL d'enregistrement que vous avez configurée à l'étape précédente.

Exemple : https://idproofing.verify.ibm.com/register/register-and-prove-identity

Commencez par la page d'inscription.

535

Vous serez alors dirigé vers la page de vérification de l'identité.

486

Qui vous redirigera vers une page vous informant que vous allez être envoyé à un tiers pour vérification d'identité.

481

Complétez les étapes sur le vendeur de justificatifs d'identité où vous serez redirigé vers IBM Verify et pourrez continuer le processus d'enregistrement.