diff --git a/examples/django_example/example/settings.py b/examples/django_example/example/settings.py index 295dc0e4b..6747846a6 100644 --- a/examples/django_example/example/settings.py +++ b/examples/django_example/example/settings.py @@ -151,6 +151,7 @@ 'social.backends.google.GoogleOpenIdConnect', 'social.backends.instagram.InstagramOAuth2', 'social.backends.jawbone.JawboneOAuth2', + 'social.backends.kakao.KakaoOAuth2', 'social.backends.linkedin.LinkedinOAuth', 'social.backends.linkedin.LinkedinOAuth2', 'social.backends.live.LiveOAuth2', diff --git a/social/backends/kakao.py b/social/backends/kakao.py index b20cdf956..279a5aa1e 100644 --- a/social/backends/kakao.py +++ b/social/backends/kakao.py @@ -11,6 +11,7 @@ class KakaoOAuth2(BaseOAuth2): AUTHORIZATION_URL = 'https://kauth.kakao.com/oauth/authorize' ACCESS_TOKEN_URL = 'https://kauth.kakao.com/oauth/token' ACCESS_TOKEN_METHOD = 'POST' + REDIRECT_STATE = False def get_user_id(self, details, response): return response['id'] @@ -30,3 +31,10 @@ def user_data(self, access_token, *args, **kwargs): """Loads user data from service""" return self.get_json('https://kapi.kakao.com/v1/user/me', params={'access_token': access_token}) + + def auth_complete_params(self, state=None): + return { + 'grant_type': 'authorization_code', + 'code': self.data.get('code', ''), + 'client_id': self.get_key_and_secret()[0], + }