카카오채널에서 사이트 로그인 구현

안녕하세요, 카카오채널에서 사이트로 로그인 후 쿠폰 발급 구현을 요청 받았습니다.
현재 카카오싱크를 통한 가입이나 로그인은 운영 중인 상태이나
고객이 원하는 것은 카카오채널에서 버튼 클릭시 바로 로그인 처리 후 쿠폰 발행인 듯 합니다.

해당 내용을 REST API 통해서 구현 가능할지요?

안녕하세요.

"카카오채널에서 사이트로 로그인 후"이라 하심은 어떤 동선 상황인지 알려주시겠어요.

(1) 채널에서 챗봇 채팅중,
(2) 채널 홈의 링크 선택시
(3) 채널에서 상담 채팅중,

앱ID와 호스팅사 사용 여부도 알려주시면 정확한 안내에 도움이 될 것 같아요.

안녕하세요, 빠른 답변 감사합니다.

카카오 채널 → 비즈니스 도구 → 쿠폰
여기서 발송하는 쿠폰 발급 화면에서 쿠폰 받기를 선택하면
쿠폰 번호를 발행하고 그 발행 번호를 사용자가 직접 로그인해서
발급 번호를 직접 등록하도록 기존에는 되어 있는데

이 과정을 쿠폰 발급받기 후 사용처로 이동하면
바로 로그인되고 쿠폰이 등록되게 하고 싶은 거 같습니다.

이걸 처리 하기 위해서는 사용처로 이동하기 버튼을 눌렀을 때
처의 URL에서 사용자의 카카오 아이디를 받는 과정이 필요할 것 같은데
REST API를 통해서 해당 과정을 구현할 수 있는 지 혹은 방식이 어떤 방식일지
문의 드리고자 합니다.

앱 아이디 : 467726
호스팅 사용하지 않는 독립몰입니다.

쿠폰 사용처 링크에 인가 요청 주소를 기재하시면 사용처로 이동 시, 가입 또는 로그인하게되는데요.
(입력가능한 주소 길이 제한이 있으므로 단축 URL만들어 인가 요청 주소로 리다이렉트 하면 될 것 같아요.)

그런데 사이트에서 확인해보니 아래와 같이 난수 형태로 state 값을 생성해서 일치하지 않는 경우 에러 처리 하고 있습니다.

https://kauth.kakao.com/oauth/authorize?response_type=code&redirect_uri={리다이렉트URI}&client_id={앱키}&state={난수}

(1) 위 주소 state파라메터에 채널 에서 넘어왔다는 식별자 세팅하고
(2) 리다이렉트 URI에서 후속처리 후, 쿠폰 번호 입력하도록 하시면 될듯해요.

확인 부탁드려요~

조금 벗어나는 질문일 수 잇는데요. state키의 활용 방법에 대해서 알 수 있을까요?
지금 저희는 난수로 생성한 state키를 해당 url생성때마다 세션과 쿠키에 저장하게 되어 있기는 한데
state키의 용도가 단순히 해당 사이트의 보안 목적인가요 아니면 카카오 싱크 쪽에서도 필요한 정보인걸까요?

state 파라메터는 현재 사용하계신 방식과 같이

(1) 인가요청에 난수를 전달하고 (2)카카오 인가 처리 후, (3)리다이렉트URI에서 받아 검증하는 형태로 보안 강화 목적으로 많이 사용합니다.

또한 진입 출처를 state파라메터에 세팅하여 출처에 따른 분기 처리용으로 사용하기도 하는데요.
( json데이터를 인코딩하여 state 파라메터에 출처와 난수 모두 세팅하는 사용자도 있습니다.)


물론, state파라메터를 사용하지 않는 분들도 많이 있습니다.

(1) 인가 요청으로 발급받은 인가코드는 리다이렉트URI에서 토큰 발급을 위해 1회만 사용 가능하며
(2) 토큰 요청시 디벨로퍼스에 설정한 Client Secret을 검증하는 형태로도 보안을 강화 할 수 있으니

제공하시는 서비스에서 state파라메터의 용도를 선택하시면 될 것 같습니다.

친절한 답변 감사합니다! 수고하세요!

1개의 좋아요