koownij
54
2021-10-12 21:45:21
6
264

카카오 로그인 관련 질문 있습니다.



카카오 로그인을 구현해야하는데 일단 제가 생각한 방식은 다음과 같습니다..


1. 클라이언트에서 카카오 로그인 api를 사용하여 토큰 발급

2. 클라이언트에서 발급된 카카오 토큰으로 user_id 불러옴

3. 클라이언트에서 user_id를 우리 서버로 보냄

4. 서버에서 user_id에 해당하는 우리 서버 전용 액세스 토큰 생성

5.  액세스토큰을 클라이언트로 보냄


만약 user_id가 유출된다면 보안에 문제가 있을 것 같은데... 

다른 좋은 방법 없을까요? 


카카오 로그인 후 서버에 DB를 저장하는 구체적인 방법이 있는 자료가 잘 안보이네요 ㅠㅠ

0
  • 답변 6

  • Mambo
    6k
    2021-10-12 22:01:23

    클라이언트에서 user_id를 넘기는게 보안 상 문제가 있다고 판단하신다면

    자바스크립트 SDK 방식이 아닌 서버로 콜백되는 REST API를 사용하시는게 좋을 것 같아요.


  • moonti
    4k
    2021-10-12 22:24:41

    서버가 호출하게끔 대체할수 있어요

  • moonti
    4k
    2021-10-12 22:26:21

    클라에서 처음 연동하면 계정 코드란 값을 받는게 이걸로 어세스 토큰이랑 계정 정보 불러올꺼요.

    클라에서 코드만 받고 그 뒤로는 다 서버가 해도 갠찮습니다.

  • koownij
    54
    2021-10-12 22:38:03

    Mambo님, moonti님 답변감사합니다.

    그러면 REST API를 사용하면


    1. 클라이언트에서 카카오 로그인 요청

    2. 카카오 api가 인가코드를 우리 서버로 redirect

    2. 우리 서버에서 인가 코드를 사용하여 카카오 토큰 발급

    4. 우리 서버에서 카카오 토큰을 사용하여 user_id 불러옴

    5. 우리 서버에서 user_id에 해당하는 우리 서버 전용 액세스 토큰 생성

    6.  액세스토큰을 클라이언트로 보냄


    이렇게 이해하면 될까요? 


    추가로 답변 정말 감사합니다.. 학생이라 어디에 물어볼 곳이 없네요 ㅠㅠㅠ

  • Mambo
    6k
    2021-10-12 22:45:38

    네 이해하신게 맞아요.

  • koownij
    54
    2021-10-12 22:47:17

    늦은 시간에 답변 정말 감사합니다!!

  • 로그인을 하시면 답변을 등록할 수 있습니다.