hoparkgo9ma 7 лет назад
Родитель
Сommit
feddb4c060
4 измененных файлов с 16 добавлено и 6 удалено
  1. 1 0
      language/en-US.json
  2. 1 0
      language/ko-KR.json
  3. 6 6
      route/login_oauth.py
  4. 8 0
      views/main_css/oauth.css

+ 1 - 0
language/en-US.json

@@ -122,6 +122,7 @@
         "oauth_signin_facebook" : "Sign-in with Facebook",
         "oauth_signin_naver" : "Sign-in with NAVER",
         "oauth_signin_discord" : "Sign-in with Discord",
+        "oauth_signin_kakao" : "Sign-in with Kakao",
         "connection" : "Connection",
         "new_connection" : "Connect...",
         "user_setting" : "User settings",

+ 1 - 0
language/ko-KR.json

@@ -122,6 +122,7 @@
         "oauth_signin_facebook" : "Facebook 아이디로 로그인",
         "oauth_signin_naver" : "네이버 아이디로 로그인",
         "oauth_signin_discord" : "디스코드 아이디로 로그인",
+        "oauth_signin_kakao" : "카카오톡 아이디로 로그인",
         "connection" : "연결",
         "new_connection" : "연결...",
         "user_setting" : "사용자 설정",

+ 6 - 6
route/login_oauth.py

@@ -28,7 +28,7 @@ def login_oauth_2(conn, platform, func):
     elif platform == 'kakao':
         api_url['redirect'] = 'https://kauth.kakao.com/oauth/authorize'
         api_url['token'] = 'https://kauth.kakao.com/oauth/token'
-        api_url['profile'] = 'https://kapi.kakao.com/v1/api/talk/profile'
+        api_url['profile'] = 'https://kapi.kakao.com/v2/user/me'
 
     if func == 'init':
         if oauth_data['client_id'] == '' or oauth_data['client_secret'] == '':
@@ -181,7 +181,7 @@ def login_oauth_2(conn, platform, func):
                 'User-Agent': 'Mozilla/5.0'
             }
             token_exchange = urllib.request.Request(
-                url['token'],
+                api_url['token'],
                 data = bytes(urllib.parse.urlencode(data).encode()),
                 headers = headers
             )
@@ -193,15 +193,15 @@ def login_oauth_2(conn, platform, func):
                 'Authorization' : 'Bearer ' + token_json['access_token']
             }
             profile_exchange = urllib.request.Request(
-                url['profile'],
+                api_url['profile'],
                 headers = headers
             )
             profile_result =  urllib.request.urlopen(profile_exchange).read().decode('utf-8')
             profile_result_json = json.loads(profile_result)
             stand_json = {
-                'id'        : profile_result_json['account_email'], 
-                'name'      : profile_result_json['nickName'],
-                'picture'   : profile_result_json['profileImageURL']
+                'id'        : profile_result_json['id'], 
+                'name'      : profile_result_json['properties']['nickname'],
+                'picture'   : profile_result_json['properties']['profile_image']
             }
         
         if flask.session['referrer'][0:6] == 'change':

+ 8 - 0
views/main_css/oauth.css

@@ -37,6 +37,10 @@
 .oauth-btn.oauth-btn-discord {
     background-color: #2C2F33;
 }
+.oauth-btn.oauth-btn-kakao {
+    background-color: #ffde00;
+    color: #3c1e1e;
+}
 
 .oauth-btn-logo {
     position: absolute;
@@ -61,4 +65,8 @@
 
 .oauth-btn-logo.oauth-btn-discord {
     background-image: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMjQ1IDI0MCI+PHN0eWxlPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik0xMDQuNCAxMDMuOWMtNS43IDAtMTAuMiA1LTEwLjIgMTEuMXM0LjYgMTEuMSAxMC4yIDExLjFjNS43IDAgMTAuMi01IDEwLjItMTEuMS4xLTYuMS00LjUtMTEuMS0xMC4yLTExLjF6TTE0MC45IDEwMy45Yy01LjcgMC0xMC4yIDUtMTAuMiAxMS4xczQuNiAxMS4xIDEwLjIgMTEuMWM1LjcgMCAxMC4yLTUgMTAuMi0xMS4xcy00LjUtMTEuMS0xMC4yLTExLjF6Ii8+PHBhdGggY2xhc3M9InN0MCIgZD0iTTE4OS41IDIwaC0xMzRDNDQuMiAyMCAzNSAyOS4yIDM1IDQwLjZ2MTM1LjJjMCAxMS40IDkuMiAyMC42IDIwLjUgMjAuNmgxMTMuNGwtNS4zLTE4LjUgMTIuOCAxMS45IDEyLjEgMTEuMiAyMS41IDE5VjQwLjZjMC0xMS40LTkuMi0yMC42LTIwLjUtMjAuNnptLTM4LjYgMTMwLjZzLTMuNi00LjMtNi42LTguMWMxMy4xLTMuNyAxOC4xLTExLjkgMTguMS0xMS45LTQuMSAyLjctOCA0LjYtMTEuNSA1LjktNSAyLjEtOS44IDMuNS0xNC41IDQuMy05LjYgMS44LTE4LjQgMS4zLTI1LjktLjEtNS43LTEuMS0xMC42LTIuNy0xNC43LTQuMy0yLjMtLjktNC44LTItNy4zLTMuNC0uMy0uMi0uNi0uMy0uOS0uNS0uMi0uMS0uMy0uMi0uNC0uMy0xLjgtMS0yLjgtMS43LTIuOC0xLjdzNC44IDggMTcuNSAxMS44Yy0zIDMuOC02LjcgOC4zLTYuNyA4LjMtMjIuMS0uNy0zMC41LTE1LjItMzAuNS0xNS4yIDAtMzIuMiAxNC40LTU4LjMgMTQuNC01OC4zIDE0LjQtMTAuOCAyOC4xLTEwLjUgMjguMS0xMC41bDEgMS4yYy0xOCA1LjItMjYuMyAxMy4xLTI2LjMgMTMuMXMyLjItMS4yIDUuOS0yLjljMTAuNy00LjcgMTkuMi02IDIyLjctNi4zLjYtLjEgMS4xLS4yIDEuNy0uMiA2LjEtLjggMTMtMSAyMC4yLS4yIDkuNSAxLjEgMTkuNyAzLjkgMzAuMSA5LjYgMCAwLTcuOS03LjUtMjQuOS0xMi43bDEuNC0xLjZzMTMuNy0uMyAyOC4xIDEwLjVjMCAwIDE0LjQgMjYuMSAxNC40IDU4LjMgMCAwLTguNSAxNC41LTMwLjYgMTUuMnoiLz48L3N2Zz4=);
+}
+
+.oauth-btn-logo.oauth-btn-kakao{
+    background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ii03NSAtOTAgMzUwIDM1MCI+PHBhdGggY2xhc3M9Imtha2FvIGxvZ28iIGZpbGw9IiMzYzFlMWUiIGQ9Ik00NSAxNDBsLTUgNDUgNTAtMzUtNDUtMTB6Ii8+PGVsbGlwc2UgY2xhc3M9Imtha2FvIGxvZ28iIGZpbGw9IiMzYzFlMWUiIGN4PSIxMDAiIGN5PSI4MCIgcng9IjEwMCIgcnk9IjgwIi8+PC9zdmc+);
 }