OAuth 인증 연동
- 인쇄
- PDF
OAuth 인증 연동
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
등록된 인증 서버와의 연동을 통해 인증이 완료된 사용자에게만 답변을 응답할 수 있습니다. 최초 1회의 인증이 완료되면, 해당 사용자의 정보가 유지되는 동안에는 추가 인증 절차 없이 답변을 응답합니다.
인증 서비스를 연동하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼의 콘솔에서 Services > CLOVA Chatbot > Domain 메뉴를 차례대로 클릭해 주십시오.
- 원하는 도메인의 [빌더 실행하기] 버튼을 클릭하여 챗봇 빌더를 실행해 주십시오.
- 챗봇 빌더에서 챗봇 설정 > 서비스 연동 탭을 클릭해 주십시오.
- 인증 서비스의 [연동] 버튼을 클릭해 주십시오.
- 서비스 연동 창에서 인증 URL을 입력해 주십시오.
- 사용자가 질문을 입력하면 챗봇은 인증된 사용자인지 판단하기 위해 POST {URL}/confirm을 호출하여 입력된 인증 서버에 인증 여부를 확인
- {URL}은 도메인 관리자가 입력한 인증 URL
- 챗봇은 사용자의 ID와 플랫폼 정보를 함께 전달
{
"userId": "${userId}",
"platform": "${platform}",
"domainCode":"${domainCode}"
}
값 | 필수 | 타입 | 설명 |
---|---|---|---|
userId | Y | String | 사용자의 아이디 |
platform | Y | String | 메신저 플랫폼 |
domainCode | Y | String | 현재 도메인의 코드 |
- 만약 인증된 사용자인 경우 인증 서버는 다음과 같이 응답을 전달해주어야 합니다.
{
"valid": true
}
값 | 필수 | 타입 | 설명 |
---|---|---|---|
valid | Y | Boolean | 사용자가 인증된 사용자라면 true가 리턴 |
- 인증 요청 메시지와 인증 실패 메시지, 인증 오류 메시지를 입력하고 [연동] 버튼을 클릭해 주십시오.
- 만약 인증되지 않은 사용자 또는 인증에 실패한 사용자인 경우, 챗봇은 인증 요청 메시지 또는 인증 실패 메시지와 함께 Login 링크가 담긴 URL 버튼을 사용자에게 응답합니다.
GET {URL}/login?userId=${userId}&platform=${platform}&domainCode=${domainCode}
- 만약 Login에 성공하면 인증 서버는 Invoke URL을 호출합니다.
Invoke URL을 호출하는 경우 아래의 데이터가 포함되어 있어야 합니다.{ "domainCode": "String", "platform": "String", "userId": "String", "nonce": "Option[String]", "needPush": true }
값 | 필수 | 타입 | 설명 |
---|---|---|---|
platform | Y | String | 메신저 플랫폼 정보 |
userId | Y | String | 사용자 구분을 위한 아이디 |
nonce | Y | String | link에 사용하기 위한 임시 암호 값. nonce 값이 존재할 경우 link api를 호출할 때 받은 nonce값을 담아 호출 |
needPush | Y | Boolean | 답변을 구한 뒤 push 가 필요할 경우 사용. LINE, TalkTalk 메신저만 지원 |
- 로그인 성공 요청이 챗봇 빌더에 전달되면 해당 사용자의 인증 성공에 대한 확인으로 link 리퀘스트를 요청합니다.
POST {URL}/link
{
"userId": "String",
"platform": "String",
"domainCode": "String",
"nonce": "Option[String]"
}
값 | 필수 | 타입 | 설명 |
---|---|---|---|
userId | Y | String | 사용자 구분을 위한 아이디 |
platform | Y | String | 메신저 플랫폼 정보 |
domainCode | Y | String | 도메인을 구분하기 위한 도메인 코드 |
nonce | N | String | 받은 nonce 값이 존재할 경우 api를 호출할 때 받은 값을 담아 호출 |
- POST {URL}/link를 호출했을 때 200OK가 전달되면 link에 성공했다고 판단합니다.
- link에 성공하면 처음 사용자가 진입했을 때 질문했던 내용에 대해 답변을 찾아 응답합니다.
- link에 실패하면 인증 실패 메시지와 함께 재로그인을 유도합니다.
- 만약 로그인 성공 요청에서 needPush: true인 경우 push가 가능한 플랫폼이면 구해진 답변을 push 합니다.
이 문서가 도움이 되었습니까?