Update Mini Login

Brightcells лет %!s(int64=6): %!d(string=назад)
Родитель
Сommit
be5373beeb
2 измененных файлов с 12 добавлено и 3 удалено
  1. 11 2
      miniapp/views.py
  2. 1 1
      requirements_pywe.txt

+ 11 - 2
miniapp/views.py

@@ -6,10 +6,12 @@ from django_curtail_uuid import CurtailUUID
6 6
 from django_logit import logit
7 7
 from django_response import response
8 8
 from ipaddr import client_ip
9
-from pywe_miniapp import get_userinfo
9
+from pywe_miniapp import get_session_key, get_userinfo, store_session_key
10
+from pywe_storage import RedisStorage
10 11
 from TimeConvert import TimeConvert as tc
11 12
 
12 13
 from account.models import UserInfo
14
+from utils.redis.connect import r
13 15
 from utils.redis.rprofile import set_profile_info
14 16
 
15 17
 
@@ -38,7 +40,10 @@ def get_userinfo_api(request):
38 40
     #  u'province': u'Guangdong',
39 41
     #  u'unionId': u'ocMvos6NjeKLIBqg5Mr9QjxrP1FA',
40 42
     #  u'watermark': {u'appid': u'wx4f4bc4dec97d474b', u'timestamp': 1477314187}}
41
-    userinfo = get_userinfo(appid=appid, secret=secret, code=code, encryptedData=encryptedData, iv=iv)
43
+    # Get SessionKey
44
+    session_key = get_session_key(appid=appid, secret=secret, code=code)
45
+    # Get Userinfo
46
+    userinfo = get_userinfo(appid=appid, secret=secret, code=code, session_key=session_key, encryptedData=encryptedData, iv=iv)
42 47
 
43 48
     # Get or Create User
44 49
     user, created = UserInfo.objects.select_for_update().get_or_create(unionid=userinfo.get('unionId', ''))
@@ -61,6 +66,10 @@ def get_userinfo_api(request):
61 66
     user.signup_at = tc.utc_datetime()
62 67
     user.save()
63 68
 
69
+    # Store Userinfo
64 70
     set_profile_info(user)
65 71
 
72
+    # Store SessionKey
73
+    store_session_key(appid=appid, secret=secret, session_key=session_key, unid=user.user_id, storage=RedisStorage(r))
74
+
66 75
     return response(200, 'Mini App Login Success', u'微信小程序登录成功', user.data)

+ 1 - 1
requirements_pywe.txt

@@ -1,6 +1,6 @@
1 1
 pywe-jssdk==1.1.0
2 2
 pywe-membercard==1.0.0
3
-pywe-miniapp==1.1.0
3
+pywe-miniapp==1.1.2
4 4
 pywe-oauth==1.0.6
5 5
 pywe-pay==1.0.12
6 6
 pywe-pay-notify==1.0.4