동적동의에 대해 질문 있습니다

동적동의를 받으면 redirect_uri로 코드가 오는데요

그 코드로 뭘해야 하는지 모르겠습니다.

해당 코드로

curl –v –X POST https://kauth.kakao.com/oauth/token
-d ‘grant_type=authorization_code’
-d ‘client_id={괄호제외, rest code}’
-d ‘redirect_uri={괄호제외, redirect_uri}’
-d ‘code={괄호 제외, 코드 삽입}’

을 실행해서
다시 엑세스 토큰과 리플레쉬 토큰을 얻기도 해봤는데요.
그건 좀 아닌거 같아서요.

동적동의로 받은 코드를 어디에 써야 하나요?

@sabradin2
동적 동의를 받는다는 것은, 사용자로 부터 필요로한 동의를 추가로 받는 것이고,
사용자가 동의항목을 동의창에서 확인하고 동의를 하면, code 발급(redirect uri로 전달)이 되는거고,
해당 code로 token을 발급 받아야 동의가 완료되는 거예요.
해당 토큰으로 사용자 정보 조회 API를 호출하시면,
동적 동의로 사용자가 동의한 항목에 대해서도 추가로 정보를 가져가실 수 있게 됩니다.

사용자 정보 조회 api를 호출해야 하는 것이었네요 정말 감사합니다!

1개의 좋아요

사용자 토큰 받기는 것이 아래와 같을때, 동적동의를 통해 redirec된 코드를 authorize_code에 넣는 것인가요?

curl -v -X POST https://kauth.kakao.com/oauth/token
-d ‘grant_type=authorization_code’
-d ‘client_id={app_key}’
-d ‘redirect_uri={redirect_uri}’
-d ‘code={authorize_code}’

@sabradin2

https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token 에 ‘토큰 받기’ 를 참고하시면 됩니다.

code	위 코드 받기에서 발급 받은 인증된 코드.

넵 감사합니다 다시 시도해 보겠습니다.

자꾸 번거롭게 해서 죄송합니다.

적어주신 방법대로 처리를 했는데,

동적동의가 적용되었는지 확인 할 수 있는 방법이 있을까요?

@sabradin2
해당 사용자 정보 조회시 동적 동의 요청했던 항목에 대한 값이 내려오면 동의된 것 입니다.
값이 내려오지 않으면 xxx_needs_agreement 필드를 확인해 보세요.

https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#req-user-info
여기 응답부분을 참고하세요.

상세한 답변 감사합니다. 좋은 하루 되세요^^

동적동의에서 얻은 코드로
토큰 받기를 하면

“access_token”:“엑세스토큰”,
“token_type”:“bearer”,
“refresh_token”:“리프레쉬 토큰”,
“expires_in”:21599,
“scope”:“talk_message profile”,
“refresh_token_expires_in”:5183999

을 얻습니다. 여기에는 scope에 talk_message profile이 표시되는데요

여기서 얻은 토큰으로 사용자 정보 요청을 하면
"id":아이디,
“connected_at”:“2020-02-24T04:57:34Z”,
“properties”:
{“nickname”:“닉네임”,
“profile_image”:“이미지링크”,
“thumbnail_image”:“썸네일 링크”},
“kakao_account”:
{“profile_needs_agreement”:false,
“profile”:{
“nickname”:“닉네임”,
“thumbnail_image_url”:“이미지 주소”,
“profile_image_url”:“프로필 이미지 주소”}}}

이렇게 밖에 안나옵니다. 이거 동적동의 안된건가요?

@sabradin2
어떤 동의항목을 동적동의 요청하셨는지요?

토큰 응답에 talk_message와 profile 두개 항목에 대해서 동의를 받은 것으로 나오고,
사용자 정보 응답에 그에 맞게 profile에 대한 응답은 포함되어 있네요.