API 클라이언트에서 QRLogin 사용
qrlogin 비밀번호 없는 API를 애플리케이션(API 클라이언트)의 인증 메소드로 사용하려면 전제조건을 따르고 cURL(Client for URL)을 사용하여 API 요청을 가져오거나 전송하십시오.
프로시저
API 클라이언트에서 QRCode 로그인을 사용하려면 다음 단계를 수행하십시오.
- 전제조건을 준수하십시오.
- 새 QR Login을 시작하십시오. ‘새 QRLogin 시작’을 참조하십시오.
- 기존 QR Login 검증이 완료되었는지 폴링하십시오. 기존 QRLogin 인증 완료 여부는 설문조사를 참조하십시오.
- 기존 QR Login 검증을 확인하십시오. ‘기존 QRLogin 인증 확인’을 참조하십시오.
- 성공적으로 검증된 QR Login 요청을 검색하십시오. “검증 완료된 QR 로그인 요청을 가져왔습니다.”를 참조하십시오.
- 특정 검증을 삭제하십시오. ‘QR 로그인 인증 삭제’를 참조하십시오.
새 QRLogin 시작
새 QR 코드 로그인 검증 레코드를 작성하려면 다음 cURL 명령을 사용하여 새 QR Login 검증 요청을 시작하십시오.
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 "
}
참고:
b64QRCodeBase64-encoded 의 QR 코드 텍스트 변환기에 의 값을 복사하여 붙여넣어 QR 코드 이미지를 생성하세요.기존 QRLogin 검증 완료 폴링
다음 cURL 명령으로 qrlogin 요청을 검색하여 인증되지 않은 컨텍스트에서 기존 QR Login 검증이 완료되었는지 폴링하십시오.
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.dsi}} 를 {{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'
예제 출력 응답{
"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 Login 요청 검색
다음 cURL 명령으로 qrlogin 요청을 검색하여 인증되지 않은 컨텍스트에서 기존 QR Login 검증이 완료되었는지 폴링하십시오.
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 Login 검증 삭제
기존 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