Utilisation de la connexion Quick Response dans le client API

Pour utiliser l'API sans mot de passe qrlogin comme méthode d'authentification pour votre application (client API), suivez les prérequis et utilisez Client for URLs (cURL) pour obtenir ou envoyer les demandes d'API.

Procédure

Pour utiliser la connexion par code Quick Response dans votre client d'API, procédez comme suit.
  1. Remplissez les prérequis.
  2. Initiez une nouvelle connexion Quick Response. Voir « Lancer une nouvelle session QRLogin ».
  3. Déterminez si une vérification de connexion Quick Response ayant abouti existe. Consultez le sondage pour finaliser une vérification QRLogin en cours.
  4. Contrôlez une vérification de connexion Quick Response existante. Voir « Vérifier une authentification QRLogin existante ».
  5. Procédez à l'extraction d'une demande de connexion Quick Response dont la vérification a abouti. Voir « Demande de connexion via QR code vérifiée avec succès ».
  6. Supprimez une vérification spécifique. Voir « Supprimer la vérification par QR Code ».

Initiation d'une nouvelle connexion Quick Response

Pour créer un enregistrement de vérification de connexion par code Quick Response, utilisez la commande cURL ci-dessous afin d'initier une nouvelle demande de vérification de connexion Quick Response.
Remarque : Remplacez le {{profile.id}} par un identifiant de profil valide enregistré sur IBM Verify. Voir la section « Gestion des profils d'inscription ».
Commande cURL
'https://{{tenant}}/v2.0/factors/qr/authenticate?profileId={{profile.id}}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Exemple
curl -X GET \
  'https://companyAppTest.verify.ibm.com/v2.0/factors/qr/authenticate?profileId=9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Exemple de réponse :
{
    "lsi": "zj4lyRfYFlnJcxZYPxKJXR0OB",
    "created": "2019-04-01T00:35:18.951Z",
    "type": "qr",
    "serviceName": "IBM Verify",
    "qrCode": " iVBORw0KEUgAAASwAAAEsCAIAAAD2HxkiA",
    "profileId": "9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0",
    "location": "https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "id": "77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "expiry": "2019-04-01T00:36:18.951Z",
    "state": "PENDING",
    "dsi": "NxyVx0412btOrdx1xZJqTPfVPoCRHq3wG1s5udzt",
    "updated": "2019-04-01T00:35:18.951Z",
    "tenant": " companyAppTest.verify.ibm.com "
}
Remarque : pour générer l'image du code QR, copiez-collez la valeur de b64QRCode dans un convertisseur de texte en code QR disponible sur Base64-encoded.

Recherche d'une vérification de connexion Quick Response ayant abouti existante

Utilisez la commande cURL ci-dessous pour extraire la demande qrlogin afin de déterminer s'il existe une vérification de connexion Quick Response ayant abouti depuis un contexte non authentifié.

Commande cURL
curl -X GET \
  'https://{{tenant}}/v2.0/factors/qr /{{qrlogin.ci.id}}?dsi={{qrlogin.dsi}}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Remarque : Remplacez et {{qrlogin.dsi}}{{qrlogin.ci.id}} par les valeurs de l'identifiant du cloud et de l'index de session de l'appareil qui vous sont fournis lorsque vous lancez une nouvelle qrlogin requête.
Exemple
curl -X GET \
  'https://companyAppTest.verify.ibm.com/v2.0/factors/qr/authenticate/77348a7f-03b2-494f-a5d4-9a1603ae1592?dsi=IJL1IM9GFJLL3NK39MM2E3HN39IGH8LENENGIG2G' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Exemple de réponse :
{
    "created": "2019-04-01T00:42:44.456Z",
    "profileId": "9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0",
    "location": "https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "id": "77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "expiry": "2019-04-01T00:43:44.456Z",
    "state": "PENDING",
    "type": "qr",
    "serviceName": "IBM Verify",
    "updated": "2019-04-01T00:42:44.456Z",
    "tenant": "companyAppTest.verify.ibm.com"
}

Contrôle d'une vérification de connexion Quick Response existante

Les droits de sécurité de l'API verifyAuthenticator sont requis pour le contrôle d'une vérification de connexion Quick Response existante.

Pour contrôler une vérification de connexion Quick Response existante, créez un fichier verify-qrlogin-payload.json contenant :
{
	"lsi": "{{qrlogin.lsi}}"
}
Remarque : Remplacez le {{qrlogin.lsi}} par les chiffres de l'index de session de connexion (LSI) que vous avez reçu après avoir lancé une nouvelle qrlogin demande. La longueur de l'index de session de connexion est une variable qui est basée sur la configuration. Par exemple :
{
  "lsi": “B1CAE3”
}
Commande cURL
curl -X POST \
  https://{{tenant}}/v2.0/factors/qr/{{qrlogin.ci.id}} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{authenticator_access_token}}' \
  -H 'Content-Type: application/json' \
  -d @verify-qrlogin-payload.json
Remarque :
  • Ce authenticator_access_token doit être celui qui figure sur IBM Verify l'inscription.
  • remplacez {{qrlogin.ci.id}} par la valeur de l'ID de cloud qui a été renvoyé lorsque vous avez initié une nouvelle demande qrlogin.
Exemple
curl -X POST \
  https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe' \
  -H 'Content-Type: application/json' \
  -d @verify-qrlogin-payload.json
Exemple de réponse :
Status Code: 204

Extraction d'une demande de connexion Quick Response dont la vérification a abouti

Utilisez la commande cURL ci-dessous pour extraire la demande qrlogin afin de déterminer s'il existe une vérification de connexion Quick Response ayant abouti depuis un contexte non authentifié.

Commande cURL
curl -X GET \
  'https://{{tenant}}/v2.0/factors/qr /{{qrlogin.ci.id}}?dsi={{qrlogin.dsi}}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Remarque : Remplacez le {{qrlogin.ci.id}} par la valeur de l'identifiant du cloud qui vous est fournie lorsque vous lancez une nouvelle qrlogin demande.
Exemple
curl -X GET \
  'https://companyAppTest.verify.ibm.com/v2.0/factors/qr/authenticate/77348a7f-03b2-494f-a5d4-9a1603ae1592?dsi=IJL1IM9GFJLL3NK39MM2E3HN39IGH8LENENGIG2G' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json'
Exemple de réponse :
{
    "updatedBy": "50FNK72W4C",
    "created": "2019-04-01T00:45:13.441Z",
    "profileId": "9fe42f1c-3d22-4d2c-99a0-8ff08c93c4b0",
    "location": "https://companyAppTest.verify.ibm.com/v2.0/factors/qr/77348a7f-03b2-494f-a5d4-9a1603ae1592",
    "id": "9df8af9c-b5eb-4b47-b518-725ac43ccccc",
    "expiry": "2019-04-01T00:46:13.441Z",
    "state": "SUCCESS",
    "type": "qr",
    "serviceName": "IBM Verify",
    "userId": "50FNK72W4C",
    "updated": "2019-04-01T00:45:19.256Z",
    "tenant": "companyAppTest.verify.ibm.com"
}

Suppression d'une vérification de connexion Quick Response

Les droits de sécurité de l'API authnAnyUser sont requis pour supprimer une vérification de connexion Quick Response existante.

Utilisez la commande cURL ci-dessous pour supprimer un enregistrement de vérification qrlogin.

Commande cURL
curl -X DELETE \
  https://{{tenant}}/v2.0/factors/qr/{{qrlogin.ci.id}} \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {{access_token}}' \
  -H 'Content-Type: application/json'
Remarque : Remplacez le {{qrlogin.ci.id}} par la valeur de l'identifiant du cloud qui vous est fournie lorsque vous lancez une nouvelle qrlogin demande.
Exemple
curl -X DELETE \
  https://companyAppTest.verify.ibm.com/v2.0/factors/qr/9df8af9c-b5eb-4b47-b518-725ac43ccccc \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer 4hFZq9U73P3MPEA40KcF54i77Z0mDhZba0InrzUe ' \
  -H 'Content-Type: application/json'
Exemple de réponse :
Status Code: 204