@@ -238,6 +238,7 @@ WECHAT = { |
||
238 | 238 |
|
239 | 239 |
WECHAT_BASE_REDIRECT_URI = 'https://api.pai.ai/base_redirect' |
240 | 240 |
WECHAT_USERINFO_REDIRECT_URI = 'https://api.pai.ai/userinfo_redirect' |
241 |
+WECHAT_OAUTH2_RETRY_REDIRECT_URI = 'http://api.pai.ai/wx_oauth2?redirect_url={}' |
|
241 | 242 |
|
242 | 243 |
# 微信支付设置 |
243 | 244 |
WXPAY_NOTIFY_SUCCESS = '<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>' |
@@ -29,7 +29,7 @@ mock==2.0.0 |
||
29 | 29 |
pep8==1.7.0 |
30 | 30 |
pywe-oauth==1.0.2 |
31 | 31 |
records==0.4.3 |
32 |
-redis-extensions==1.0.37 |
|
32 |
+redis-extensions==1.0.38 |
|
33 | 33 |
requests==2.12.4 |
34 | 34 |
rlog==0.2 |
35 | 35 |
shortuuid==0.4.3 |
@@ -31,6 +31,8 @@ def base_redirect(request): |
||
31 | 31 |
state = request.GET.get('state', '') |
32 | 32 |
|
33 | 33 |
access_info = get_access_info(JSAPI['appID'], JSAPI['appsecret'], code) |
34 |
+ if 'errcode' in access_info: |
|
35 |
+ return redirect(settings.WECHAT_OAUTH2_RETRY_REDIRECT_URI.format(state)) |
|
34 | 36 |
|
35 | 37 |
return redirect(furl(state).add(access_info).url) |
36 | 38 |
|
@@ -40,6 +42,9 @@ def userinfo_redirect(request): |
||
40 | 42 |
state = request.GET.get('state', '') |
41 | 43 |
|
42 | 44 |
access_info = get_access_info(JSAPI['appID'], JSAPI['appsecret'], code) |
45 |
+ if 'errcode' in access_info: |
|
46 |
+ return redirect(settings.WECHAT_OAUTH2_RETRY_REDIRECT_URI.format(state)) |
|
47 |
+ |
|
43 | 48 |
userinfo = get_userinfo(access_info.get('access_token', ''), access_info.get('openid', '')) |
44 | 49 |
|
45 | 50 |
return redirect(furl(state).add(userinfo).url) |