[공지] 카카오 로그인 OpenID Connect 지원 / [Notice] Support of OpenID Connect

안녕하세요, 카카오입니다.
카카오 로그인에 인증(Authentication)을 위한 OAuth 2.0 확장 프로토콜인 OpenID Connect를 지원합니다.
이에 따라 각 서비스에서 카카오 로그인을 통해 보다 강화된 사용자 인증 기능을 사용하실 수 있습니다.
자세한 내용을 안내드립니다.

지원 일자

  • 2022년 3월 18일(금)

기능 소개

  • 카카오 로그인의 사용자 인증 기능 강화를 위한 OpenID Connect 지원
    • 카카오 로그인을 통한 인증에 대해 서비스에서 신뢰할 수 있는 사용자 인증 정보 제공
    • 다양한 개발 환경 지원을 위해 표준 규격에 맞춘 기능, 편리한 사용 방법 제공
  • OpenID Connect 사용 시 카카오 로그인 시 액세스 토큰과 함께 ID 토큰 추가 발급
    • ID 토큰은 JSON Web Token(JWT) 형식이며 사용자 인증 정보 포함
    • 서비스 세션 대신 ID 토큰을 사용하여 통합 인증(Single Sign-On, SSO) 구현 가능

사용 방법

  • [내 애플리케이션] > [카카오 로그인] > [OpenID Connect 활성화] 설정을 [ON]으로 변경합니다.
    카카오 로그인이 활성화되어 있는 경우에만 해당 설정이 노출됩니다.
    OpenID Connect 활성화 설정
  • [OpenID Connect 활성화] 설정이 [ON]인 경우, 카카오 로그인을 통해 ID 토큰을 발급받을 수 있습니다.
    • ID 토큰은 유효성 검증을 거쳐 사용해야 합니다.
    • 카카오 로그인에 ID 토큰 재생 공격을 방지하기 위한 nonce 파라미터를 추가 제공하며, 해당 파라미터 사용을 권장합니다.

주의사항
추가 항목 동의 받기의 경우, scope 파라미터 값에 openid 문자열을 포함하여 요청해야 합니다.
해당 문자열 미포함 시, ID 토큰이 재발급되지 않습니다. (참고: scope 파라미터)

Kakao SDK

  • OpenID Connect를 지원하는 Kakao SDK 버전 정보는 아래와 같습니다.
    • JavaScript SDK: 1.41.2 이상
    • Android SDK: 2.9.0 이상
    • iOS SDK: 2.9.0 이상
    • Flutter SDK: 1.1.0 이상

개발 가이드

참고

언제나 더 좋은 서비스를 제공하기 위해 노력하겠습니다.
감사합니다.




Hello. This is Kakao.

We inform you that Kakao login now supports OpenID Connect (OIDC), authentication protocol built on top of OAuth 2.0.

Kakao Login works based on OAuth 2.0, authorization protocol to grant permissions to access Kakao APIs and user information provided by Kakao Platform. To allow your service to verify who a user and to retain a session with authentication information, we provide OIDC.

Release date

  • March 18, 2022

Features

  • Provides authentication functionality that verifies who a user is.
  • Issues an ID token that contains user authentication information.
  • Allows your service to maintain session with the issued ID token.
  • Allows your service to implement Single Sign-On (SSO) functionality.

How to implement OIDC

  • Activate OIDC in [My Application] > [Kakao Login]. After OIDC is enabled, ID token is issued with the access token and a refresh token when a user logs in.

image

  • If you call the Requesting additional consent API by using the scope parameter, you must add openid to scope along with other scopes you want to get obtain additionally.
    (Example: scope=openid,gender)

IMPORTANT

  • If you do not add openid to scope, OAuth authorization process is applied even though OIDC is enabled, which means that you cannot get an ID token.
  • If you do not pass scope in your request, the Login API is called with the scopes that are enabled in [My Application] > [Consent Items], instead of the Requesting additional consent API.
  • Verify the ID token on your service server after the Kakao authorization server issues an ID token .

Supported SDK version

  • JavaScript SDK 1.41.2 or higher
  • iOS SDK : 2.9.0 or higher (Legacy iOS SDK does not support OIDC.)
  • Android SDK: 2.9.0 or higher (Legacy iOS SDK does not support OIDC.)
  • Flutter SDK: 1.1.0 or higher

Reference

If you have any further questions about OIDC, leave your questions at DevTalk.

We always do our best to provide a better service.

Thank you.


Kakao Developers

좋아요 3