API クライアントでの QRLogin の使用
qrlogin パスワードなしの API をアプリケーション(API クライアント)の認証方式として使用するには、前提条件に従い、Client for URLs (cURL) を使用して API 要求を取得または送信します。
手順
API クライアントで QRCode ログインを使用するには、以下の手順に従います。
- 前提条件に従います。
- 新しい QR ログインを開始します。 「 新規 QRLogin の開始」を参照してください。
- 既存の QR ログイン検証の完了をポーリングします。 Poll for completion of completion of an existing QRLogin verificationを参照してください。
- 既存の QR ログイン検証を確認します。 既存の QRLogin 検証の検証を参照してください。
- 正常に検証された QR ログイン要求を取得します。 成功した検証済み QR ログイン要求の取得を参照してください。
- 特定の検証を削除します。 「 QR ログイン検査の削除」を参照してください。
新しい QRLogin を開始する
新しい QR コード・ログイン検証レコードを作成するには、以下の cURL コマンドを使用して新しい QR ログイン検証要求を開始します。
cURL コマンド
'https://{{tenant}}/v2.0/factors/qr/authenticate?profileId={{profile.id}}' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'
例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'
出力応答例{
"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 "
}
注: QR コード・イメージを生成するには、
b64QRCode の値を Base64-encoded QR コード・テキスト・コンバーターにコピー・アンド・ペーストします。既存の QRLogin 検証の完了をポーリングする
以下の cURL コマンドを使用して qrlogin 要求を取得し、非認証のコンテキストの既存の QR ログイン検証の完了をポーリングします。
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'
注:
例{{qrlogin.ci.id}} と {{qrlogin.dsi}} を、新しい qrlogin 要求を開始したときに返されたクラウド ID とデバイス・セッション索引の値に置き換えます。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'
出力応答例{
"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"
}
既存の QRLogin 検証を確認する
既存の QRLogin 検証を確認するために、verifyAuthenticator API セキュリティー資格が必要です。
既存の QRLogin 検証を確認するには、以下を含む verify-qrlogin-payload.json ファイルを作成します。
{
"lsi": "{{qrlogin.lsi}}"
}
注:
{{qrlogin.lsi}} を、新しい qrlogin 要求の開始後に受け取ったログイン・セッション索引 (LSI) の数字に置き換えます。 LSI の長さは、構成に基づく変数です。 例えば、以下のとおりです。{
"lsi": “B1CAE3”
}
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
注:
例authenticator_access_tokenは、 IBM Verify 登録のものでなければなりません。{{qrlogin.ci.id}}を、新しい qrlogin 要求を開始したときに返されたクラウド識別子 ID の値に置き換えます。
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
出力応答例Status Code: 204正常に検証された QR ログイン要求を取得する
以下の cURL コマンドを使用して qrlogin 要求を取得し、非認証のコンテキストの既存の QR ログイン検証の完了をポーリングします。
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'
注:
例{{qrlogin.ci.id}} を、新しい qrlogin 要求を開始したときに返されたクラウド ID の値に置き換えます。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'
出力応答例{
"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"
}QR ログイン検証を削除する
既存の QRLogin 検証を削除するために、authnAnyUser API セキュリティー資格が必要です。
以下の cURL コマンドを使用して qrlogin 検証レコードを削除します。
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'
注:
例{{qrlogin.ci.id}} を、新しい qrlogin 要求を開始したときに返されたクラウド ID の値に置き換えます。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'
出力応答例Status Code: 204