간편 로그인 정보수집시 추가항목

현재 비즈계정이 아니라서, 이메일은 선택으로만 받고있습니다.
서비스에서는 이메일이 아이디라 필요하여 '선택 동의 [수집]'으로 해당값을 받으려고 합니다.

그런데 로그인 과정 흐름이 맞는지 몰라 문의드립니다.

  1. oauth/authorize에 scope=account_email 전송
    → 사용자는 kakao 개인정보 제3자 동의 부분에 이메일 체크하지 않고 하단 ‘확인하고 계속하기’ 클릭
  2. oauth/token로 토큰발급
  3. /v2/user/me로 계정정보 수신하고 있습니다.

현재는 3번까지 진행했을때 처음 정보제공 동의시 이메일 부분을 체크하지 않아서 이메일이 정보가 수신되지 않습니다.
그래서 사용자가 다시 1번 흐름부터 실행을 하면
kakao의 정보동의 화면에서는 선택이었던 ‘이메일’ 부분이 아래 그림처럼 필수로 바뀌어있습니다.

image

여기저기서 보다보니 어딘가 순서가 꼬인것 같습니다.
3번작업 전후로 이메일 정보가 없으면 저 동의받는 화면을 다시 띄우고싶은데, 1번 부분을 다시 호출해야 하나요?
조언 부탁드립니다. 감사합니다.

  1. oauth/authorize에 scope=account_email 전송
    → 사용자는 kakao 개인정보 제3자 동의 부분에 이메일 체크하지 않고 하단 ‘확인하고 계속하기’ 클릭

scope 파라메터는 이미 카카오 로그인으로 연결된 유저에게 추가로 동의 받을때 사용합니다.
scope 파라메터는 설정하지 않고 사용해주세요. 설정하지 않으면 디벨로퍼스앱에 설정된 항목들에대해 동의받습니다.

3번작업 전후로 이메일 정보가 없으면 저 동의받는 화면을 다시 띄우고싶은데, 1번 부분을 다시 호출해야 하나요?

(1) scope 파라메터 없이 [선택] 동의로 동의를 받습니다.
(2) [선택] 동의 항목이므로 사용자가 동의 안했을 수 있으므로 로그인 이후, 필요한 동선에서 scope파라메터를 명시하여 인가요청 하면 추가 항목 동의 받기로 작동합니다.


이메일이 반드시 필요하시다면
흐름을 간결하게 하기위해 비즈앱 등록하셔서 [필수] 동의항목으로 변경하여 사용하시면 좋을 것 같습니다.

@tim.l 댓글 감사합니다.

말씀하신 이부분이
추가항목 받을 api가 oauth/authorize외에 다른게 있나요?
아니면
처음 정보제공 동의 요청시에는 scope를 하지말고, 토큰 발급 후 다시 oauth/authorize에 scope 명시하여 요청 하라는것인가요?

처음 정보제공 동의 요청시에는 scope를 하지말고, 토큰 발급 후 다시 oauth/authorize에 scope 명시하여 요청 하라는것인가요?

네, 맞습니다.

처음 인가요청은 scope 설정하지말고 설정그대로 동의 받고
카카오 로그인 이후 동선에서 필요한경우 scope 명시한 인가요청하시면 추가동의 형태로 동의받아 진행합니다.

위에서 말씀드린것처럼 이렇게 처리하지마시고 [필수] 동의로 설정하면 최초 로그인 시 반드시 동의 받으니
비즈앱 설정하셔서 [필수]동의로 설정하시면 좋을 것같습니다.