[기술정리]OAuth2.0 - kakao

송송승현's avatar
Dec 20, 2024
[기술정리]OAuth2.0 - kakao

정의

💡
웹 및 애플리케이션 인증 및 권한 부여를 위한 개방형 표준 프로토콜
사용자가 자신의 자격 증명을 제공하지 않고도 다른 서비스에 접근할 수 있도록 도움
사용자는 보호된 리소스에 접근 가능, 서비스 간의 인증을 쉽게 처리

적용 순서

  • 애플리케이션 등록
  • 애플리케이션 설정
    • 플랫폼 등록
    • 카카오 로그인 활성화
    • openID Connect 활성화
    • Redirect URI 설정
    • 동의 항목 설정
  • 연동 개발(REST API)
    • 인가 코드 받기
    • client_id : 앱 키에서 가져오기
    •  

실행 순서

  • 클라이언트가 카카오 로그인 버튼 클릭
  • 애플리케이션은 카카오 인증 서버로 인증 요청
  • 카카오에 로그인 하고, 애플리케이션에 필요한 권한을 승인
  • 카카오 인증 서버는 사용자가 권한을 승인하면 애플리케이션에 redirect_uri로 인증 코드를 발급(http://localhost:8080/oauth?code=${인증코드})
  • 애플리케이션은 발급된 인증 코드를 받아 카카오 인증 서버에 액세스 토큰을 요청(https://kauth.kakao.com/oauth/token)
    • Content_Type : application/x-www-form-urlencoded
    • 필요한 데이터
      • grant_type : authorization_code
      • client_id
      • redirect_uri
      • code : 인증 코드
  • 카카오 인증 서버는 애플리케이션에 엑세스 토큰을 발급
{ "access_token": "ㄴㅇㄴㅇㄹㄴㄹㅇㄴ", "token_type": "bearer", "refresh_token": "ㅇㄴㄹㄴㅇㄹㄴㄹ", "id_token": "ㅇㅇㄴㄹㄴㄹㄴㅇㄹㅇㄴㄹㄴ", "expires_in": 정수어떤것, "scope": "profile_nickname", "refresh_token_expires_in": 정수 어떤것 }
  • 사용자 정보 가져오기
 
 
 
 
Share article

송승현의 블로그