|
@@ -2436,6 +2436,8 @@ class oneClickLoginView(TemplateView):
|
|
token = request_dict.get('token', None)
|
|
token = request_dict.get('token', None)
|
|
language = request_dict.get('language', 'en')
|
|
language = request_dict.get('language', 'en')
|
|
app_bundle_id = request_dict.get('appBundleId', None)
|
|
app_bundle_id = request_dict.get('appBundleId', None)
|
|
|
|
+ token_version = request_dict.get('tokenVersion', None)
|
|
|
|
+ token_val = request_dict.get('tokenVal', None)
|
|
response = ResponseObject(language)
|
|
response = ResponseObject(language)
|
|
|
|
|
|
if not token:
|
|
if not token:
|
|
@@ -2463,6 +2465,8 @@ class oneClickLoginView(TemplateView):
|
|
'lang': response.lang,
|
|
'lang': response.lang,
|
|
'user': user_qs[0]['username'],
|
|
'user': user_qs[0]['username'],
|
|
'appBundleId': app_bundle_id,
|
|
'appBundleId': app_bundle_id,
|
|
|
|
+ 'tokenVersion': token_version,
|
|
|
|
+ 'tokenVal': token_val,
|
|
'm_code': '123413243214'
|
|
'm_code': '123413243214'
|
|
}
|
|
}
|
|
)
|
|
)
|
|
@@ -2802,6 +2806,8 @@ class wxAuthSignView(TemplateView):
|
|
def ValidationError(self, request_dict, response):
|
|
def ValidationError(self, request_dict, response):
|
|
grant_code = request_dict.get('grant_code', None) # 微信授权code
|
|
grant_code = request_dict.get('grant_code', None) # 微信授权code
|
|
appBundleID = request_dict.get('appBundleID', None) # 包名
|
|
appBundleID = request_dict.get('appBundleID', None) # 包名
|
|
|
|
+ token_val = request_dict.get('tokenVal', None) # 推送token
|
|
|
|
+ token_version = request_dict.get('tokenVersion', None) # token版本
|
|
print('grant_code')
|
|
print('grant_code')
|
|
print(grant_code)
|
|
print(grant_code)
|
|
print('appBundleID')
|
|
print('appBundleID')
|
|
@@ -2844,12 +2850,12 @@ class wxAuthSignView(TemplateView):
|
|
userID = user_extend_qs[0].userID_id
|
|
userID = user_extend_qs[0].userID_id
|
|
print(userID)
|
|
print(userID)
|
|
user_qs = Device_User.objects.filter(userID=userID)
|
|
user_qs = Device_User.objects.filter(userID=userID)
|
|
- return self.do_login(user_qs, appBundleID, response)
|
|
|
|
|
|
+ return self.do_login(user_qs, appBundleID, token_val, token_version, response)
|
|
else:
|
|
else:
|
|
# 如果用户为绑定过则创建用户并进行登录返回token
|
|
# 如果用户为绑定过则创建用户并进行登录返回token
|
|
userID = CommonService.getUserID(getUser=False)
|
|
userID = CommonService.getUserID(getUser=False)
|
|
nickname = res_json['nickname'] + '_' + CommonService.RandomStr(4)
|
|
nickname = res_json['nickname'] + '_' + CommonService.RandomStr(4)
|
|
- return self.do_register(userID, nickname, response, appBundleID, unionID)
|
|
|
|
|
|
+ return self.do_register(userID, nickname, response, appBundleID, token_val, token_version, unionID)
|
|
else:
|
|
else:
|
|
return response.json(414, 'access_token,openid')
|
|
return response.json(414, 'access_token,openid')
|
|
else:
|
|
else:
|
|
@@ -2859,14 +2865,14 @@ class wxAuthSignView(TemplateView):
|
|
# if wxcode
|
|
# if wxcode
|
|
|
|
|
|
# 登录
|
|
# 登录
|
|
- def do_login(self, user_qs, app_bundle_id, response):
|
|
|
|
|
|
+ def do_login(self, user_qs, app_bundle_id, token_val, token_version, response):
|
|
now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
|
|
now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
|
|
userID = user_qs[0].userID
|
|
userID = user_qs[0].userID
|
|
print('userID' + userID)
|
|
print('userID' + userID)
|
|
tko = TokenObject()
|
|
tko = TokenObject()
|
|
user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
|
|
user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
|
|
res = tko.generate(data={'userID': userID, 'lang': response.lang, 'user': user_list[0]["username"],
|
|
res = tko.generate(data={'userID': userID, 'lang': response.lang, 'user': user_list[0]["username"],
|
|
- 'appBundleId': app_bundle_id})
|
|
|
|
|
|
+ 'appBundleId': app_bundle_id, 'tokenVal': token_val, 'tokenVersion': token_version})
|
|
# 增加角色
|
|
# 增加角色
|
|
user_qs[0].role.add(Role.objects.get(rid=1))
|
|
user_qs[0].role.add(Role.objects.get(rid=1))
|
|
role_dict = ModelService.own_role(userID=userID)
|
|
role_dict = ModelService.own_role(userID=userID)
|
|
@@ -2895,7 +2901,7 @@ class wxAuthSignView(TemplateView):
|
|
user_qs.update(last_login=now_time, online=True)
|
|
user_qs.update(last_login=now_time, online=True)
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
- def do_register(self, userID, nickname, response, appBundleId, unionID):
|
|
|
|
|
|
+ def do_register(self, userID, nickname, response, appBundleId, token_val, token_version, unionID):
|
|
data_valid = DataValid()
|
|
data_valid = DataValid()
|
|
if data_valid.name_validate(userID) is not True:
|
|
if data_valid.name_validate(userID) is not True:
|
|
return response.json(105)
|
|
return response.json(105)
|
|
@@ -2925,7 +2931,7 @@ class wxAuthSignView(TemplateView):
|
|
user_qs = Device_User.objects.filter(Q(userID=userID))
|
|
user_qs = Device_User.objects.filter(Q(userID=userID))
|
|
print('---')
|
|
print('---')
|
|
print(user_qs)
|
|
print(user_qs)
|
|
- return self.do_login(user_qs, appBundleId, response)
|
|
|
|
|
|
+ return self.do_login(user_qs, appBundleId, token_val, token_version, response)
|
|
|
|
|
|
|
|
|
|
# 获取验证码
|
|
# 获取验证码
|
|
@@ -4065,6 +4071,8 @@ class Image_Code_RegisterView(TemplateView):
|
|
email_scription = request_dict.get('email_scription', None)
|
|
email_scription = request_dict.get('email_scription', None)
|
|
push_scription = request_dict.get('push_scription', None)
|
|
push_scription = request_dict.get('push_scription', None)
|
|
app_bundle_id = request_dict.get('appBundleId', None)
|
|
app_bundle_id = request_dict.get('appBundleId', None)
|
|
|
|
+ token_val = request_dict.get('tokenVal', None)
|
|
|
|
+ token_version = request_dict.get('tokenVersion', None)
|
|
|
|
|
|
if not all([userEmail, password, lang, imageCodeId, valid_code]):
|
|
if not all([userEmail, password, lang, imageCodeId, valid_code]):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
@@ -4167,17 +4175,17 @@ class Image_Code_RegisterView(TemplateView):
|
|
subscription_thread = threading.Thread(target=UserSubscriptionControllerView.subscription,
|
|
subscription_thread = threading.Thread(target=UserSubscriptionControllerView.subscription,
|
|
args=(subscribers,))
|
|
args=(subscribers,))
|
|
subscription_thread.start()
|
|
subscription_thread.start()
|
|
- return self.do_login(email_qs, app_bundle_id, response)
|
|
|
|
|
|
+ return self.do_login(email_qs, app_bundle_id, token_val, token_version, response)
|
|
|
|
|
|
@staticmethod
|
|
@staticmethod
|
|
- def do_login(user_qs, app_bundle_id, response):
|
|
|
|
|
|
+ def do_login(user_qs, app_bundle_id, token_val, token_version, response):
|
|
now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
|
|
now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
|
|
user_qs.update(last_login=now_time, online=True)
|
|
user_qs.update(last_login=now_time, online=True)
|
|
userID = user_qs[0].userID
|
|
userID = user_qs[0].userID
|
|
tko = TokenObject()
|
|
tko = TokenObject()
|
|
user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
|
|
user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
|
|
res = tko.generate(data={'userID': userID, 'lang': response.lang, 'user': user_list[0]["username"],
|
|
res = tko.generate(data={'userID': userID, 'lang': response.lang, 'user': user_list[0]["username"],
|
|
- 'appBundleId': app_bundle_id})
|
|
|
|
|
|
+ 'appBundleId': app_bundle_id, 'tokenVal': token_val, 'tokenVersion': token_version})
|
|
# 增加角色
|
|
# 增加角色
|
|
user_qs[0].role.add(Role.objects.get(rid=1))
|
|
user_qs[0].role.add(Role.objects.get(rid=1))
|
|
role_dict = ModelService.own_role(userID=userID)
|
|
role_dict = ModelService.own_role(userID=userID)
|
|
@@ -4377,6 +4385,8 @@ class v3LoginByCodeView(View):
|
|
def validate(self, request_dict, response):
|
|
def validate(self, request_dict, response):
|
|
phone = request_dict.get('phone', None)
|
|
phone = request_dict.get('phone', None)
|
|
app_bundle_id = request_dict.get('appBundleId', None)
|
|
app_bundle_id = request_dict.get('appBundleId', None)
|
|
|
|
+ token_val = request_dict.get('tokenVal', None)
|
|
|
|
+ token_version = request_dict.get('tokenVersion', None)
|
|
code = request_dict.get('code', None)
|
|
code = request_dict.get('code', None)
|
|
|
|
|
|
if phone and code:
|
|
if phone and code:
|
|
@@ -4391,18 +4401,18 @@ class v3LoginByCodeView(View):
|
|
if login_code == code:
|
|
if login_code == code:
|
|
if response.lang is None:
|
|
if response.lang is None:
|
|
response.lang = 'en'
|
|
response.lang = 'en'
|
|
- return self.do_phone_login(phone, app_bundle_id, response)
|
|
|
|
|
|
+ return self.do_phone_login(phone, app_bundle_id, token_val, token_version, response)
|
|
else:
|
|
else:
|
|
return response.json(121)
|
|
return response.json(121)
|
|
else:
|
|
else:
|
|
return response.json(120)
|
|
return response.json(120)
|
|
|
|
|
|
- def do_phone_login(self, phone, app_bundle_id, response):
|
|
|
|
|
|
+ def do_phone_login(self, phone, app_bundle_id, token_val, token_version, response):
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True,
|
|
user_qs = Device_User.objects.filter(Q(phone=phone) | Q(username=phone), is_active=True,
|
|
user_isValid=True)
|
|
user_isValid=True)
|
|
- return self.valid_login(user_qs, app_bundle_id, response)
|
|
|
|
|
|
+ return self.valid_login(user_qs, app_bundle_id, token_val, token_version, response)
|
|
|
|
|
|
- def valid_login(self, user_qs, app_bundle_id, response):
|
|
|
|
|
|
+ def valid_login(self, user_qs, app_bundle_id, token_val, token_version, response):
|
|
if not user_qs.exists():
|
|
if not user_qs.exists():
|
|
return response.json(104)
|
|
return response.json(104)
|
|
# users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
|
|
# users = user_qs.values('role__rid', 'role__roleName', 'userID', 'role', 'NickName', 'username', 'userEmail',
|
|
@@ -4413,8 +4423,8 @@ class v3LoginByCodeView(View):
|
|
userID = users['userID']
|
|
userID = users['userID']
|
|
tko = TokenObject()
|
|
tko = TokenObject()
|
|
res = tko.generate(
|
|
res = tko.generate(
|
|
- data={'userID': userID, 'lang': response.lang, 'user': users['username'],
|
|
|
|
- 'm_code': '123413243214', 'appBundleId': app_bundle_id})
|
|
|
|
|
|
+ data={'userID': userID, 'lang': response.lang, 'user': users['username'], 'tokenVersion': token_version,
|
|
|
|
+ 'm_code': '123413243214', 'appBundleId': app_bundle_id, 'tokenVal': token_val})
|
|
# 添加用户登录类型
|
|
# 添加用户登录类型
|
|
oauth_qs = UserOauth2Model.objects.filter(userID__userID=userID)
|
|
oauth_qs = UserOauth2Model.objects.filter(userID__userID=userID)
|
|
auth_type = 0
|
|
auth_type = 0
|
|
@@ -4586,6 +4596,8 @@ class AppleAuthLogin(View):
|
|
lang = request_dict.get('lang', None)
|
|
lang = request_dict.get('lang', None)
|
|
identity_token = request_dict.get('identity_token', None)
|
|
identity_token = request_dict.get('identity_token', None)
|
|
app_bundle_id = request_dict.get('app_bundle_id', None) # 包名
|
|
app_bundle_id = request_dict.get('app_bundle_id', None) # 包名
|
|
|
|
+ token_val = request_dict.get('tokenVal', None) # 包名
|
|
|
|
+ token_version = request_dict.get('tokenVersion', None) # 包名
|
|
|
|
|
|
response = ResponseObject(lang)
|
|
response = ResponseObject(lang)
|
|
identity_token = CommonService.decode_data(identity_token)
|
|
identity_token = CommonService.decode_data(identity_token)
|
|
@@ -4626,7 +4638,7 @@ class AppleAuthLogin(View):
|
|
nickname = claims['email']
|
|
nickname = claims['email']
|
|
else:
|
|
else:
|
|
nickname = 'apple_{num}'.format(num=CommonService.RandomStr(6, False))
|
|
nickname = 'apple_{num}'.format(num=CommonService.RandomStr(6, False))
|
|
- return self.do_register(userID, nickname, response, app_bundle_id, unionID)
|
|
|
|
|
|
+ return self.do_register(userID, nickname, response, app_bundle_id, token_val, token_version, unionID)
|
|
|
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
print(e)
|
|
print(e)
|
|
@@ -4637,14 +4649,14 @@ class AppleAuthLogin(View):
|
|
return response.json(444)
|
|
return response.json(444)
|
|
|
|
|
|
# 登录
|
|
# 登录
|
|
- def do_login(self, user_qs, app_bundle_id, response):
|
|
|
|
|
|
+ def do_login(self, user_qs, app_bundle_id, token_val, token_version, response):
|
|
now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
|
|
now_time = datetime.datetime.utcnow().replace(tzinfo=utc).astimezone(utc)
|
|
userID = user_qs[0].userID
|
|
userID = user_qs[0].userID
|
|
print('userID' + userID)
|
|
print('userID' + userID)
|
|
tko = TokenObject()
|
|
tko = TokenObject()
|
|
user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
|
|
user_list = user_qs.values("NickName", "userIconUrl", "userIconPath", "username", "userEmail", "phone")
|
|
res = tko.generate(data={'userID': userID, 'lang': response.lang, 'user': user_list[0]["username"],
|
|
res = tko.generate(data={'userID': userID, 'lang': response.lang, 'user': user_list[0]["username"],
|
|
- 'appBundleId': app_bundle_id})
|
|
|
|
|
|
+ 'appBundleId': app_bundle_id, 'tokenVal': token_val, 'tokenVersion': token_version})
|
|
# 增加角色
|
|
# 增加角色
|
|
user_qs[0].role.add(Role.objects.get(rid=1))
|
|
user_qs[0].role.add(Role.objects.get(rid=1))
|
|
role_dict = ModelService.own_role(userID=userID)
|
|
role_dict = ModelService.own_role(userID=userID)
|
|
@@ -4674,7 +4686,7 @@ class AppleAuthLogin(View):
|
|
user_qs.update(last_login=now_time, online=True)
|
|
user_qs.update(last_login=now_time, online=True)
|
|
return response.json(0, res)
|
|
return response.json(0, res)
|
|
|
|
|
|
- def do_register(self, userID, nickname, response, appBundleId, unionID):
|
|
|
|
|
|
+ def do_register(self, userID, nickname, response, appBundleId, token_val, token_version, unionID):
|
|
data_valid = DataValid()
|
|
data_valid = DataValid()
|
|
if data_valid.name_validate(userID) is not True:
|
|
if data_valid.name_validate(userID) is not True:
|
|
return response.json(105)
|
|
return response.json(105)
|
|
@@ -4704,7 +4716,7 @@ class AppleAuthLogin(View):
|
|
user_qs = Device_User.objects.filter(Q(userID=userID))
|
|
user_qs = Device_User.objects.filter(Q(userID=userID))
|
|
print('---')
|
|
print('---')
|
|
print(user_qs)
|
|
print(user_qs)
|
|
- return self.do_login(user_qs, appBundleId, response)
|
|
|
|
|
|
+ return self.do_login(user_qs, appBundleId, token_val, token_version, response)
|
|
|
|
|
|
|
|
|
|
class LocalUserView(View):
|
|
class LocalUserView(View):
|