OAuth 관련 서적을 참고하거나 https://oauth.net/code/와 같은 웹사이트에서 제공하는 라이브러리를 사용하여 OAuth Server를 구현할 수 있습니다.
Backend proxy에서 Access token 사용하기
Play 개발을 위해서 OAuth Token을 사용할 준비가 끝났으며, Play 사용자는 NUGU App을 통해서 OAuth 로그인을 통해 OAuth Token을 받을 수 있습니다. 그리고 Play 개발자는 Backend proxy을 통해서 context.session 항목으로 Access token을 받을 수 있습니다.
복사성공!
1
2
3
4
5
POST /action.name
Host: backend.proxy.host.domain
Accept: application/json
Content-Length: 85
Content-Type: application/json
사용자가 OAuth 인증을 한 이후에 아래와 같이 Invalidate Token API를 호출하여 OAuth Token을 만료 처리할 수 있습니다. 요청 Form의 token은 Access Token 입니다. Token이 만료처리되면 더이상 Backend proxy로 Access token이 전달되지 않습니다. 사용자는 Token이 만료되어도 ‘계정 연동’을 통해 다시 OAuth 인증을 받을 수 있습니다.
복사성공!
1
2
3
4
POST /v1/play/oauth/invalidate
Host: api.sktnugu.com
Content-Length: 168
content-Type: application/x-www-form-urlencoded
복사성공!
1
token=EiIvr59Q02vBi2CJRJOLRxGopq0U
성공한 경우는 아래 응답을 주며 Token은 즉시 만료처리됩니다.
복사성공!
1
2
3
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 11
복사성공!
1
{"ok":true}
요청한 Token과 일치하는 것이 없는 경우 아래와 같이 에러 응답을 반환합니다.
복사성공!
1
2
3
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length:
복사성공!
1
{"ok":false,"error":"invalid_auth"}
OAuth 연동 테스트하기
Play의 상태가 등록중, 심사대기, 심사반려, 심사중, 심사완료, 배포대기 중인 경우에 스피커에서 테스트가 가능합니다.
테스트하기에서 ‘디바이스(스피커)에서 테스트하기’ 항목을 참고하여 테스트 스피커를 추가합니다.
NUGU 앱에 접속하여 왼쪽 위의 햄버거 메뉴를 클릭한 후 NUGU play 항목에서 내가 만든 Play를 클릭합니다.
‘계정 연동’ 버튼을 클릭합니다. 계정 연동 후 스피커로 테스트합니다. NUGU 앱에서 계정 연동을 하고 스피커로 테스트 하면 accessToken을 받을 수 있습니다. (단, 플레이 등록 후 하루 후부터 스피커 테스트가 가능합니다.)