def generate_access_token(openid): s = Serializer(settings.SECRET_KEY, ACCESS_TOKEN_EXPIRES) data = {'openid': openid} access_token_openid = s.dumps(data) return access_token_openid.decode()
def generate_auth_token(self, secret_key, expiration=86400): s = Serializer(secret_key, expires_in=expiration) return s.dumps({'id': self.id})
def get_reset_token(self, expires_sec=1800): s = Serializer(current_app.config['SECRET_KEY'], expires_sec) return s.dumps({'user_id': self.id}).decode('utf-8')
def get_serializer(secret_key=None): return Serializer('secret_key')
def generate_api_token(self): serializer = Serializer(app.config['SECRET_KEY']) return serializer.dumps({'id': self.id})
def generate_token(self, expiration=600): s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'id': self.id}).decode('utf-8')
def get_reset_token(user_id): serializer = Serializer(app.config['SECRET_KEY'], 1000) token = serializer.dumps({'id': user_id}).decode('utf-8') return token
def generate_confirmation_token(self, expiration=3600): # 生成有过期时间的JWS(JSON Web Signatures) expiration:令牌过期时间 s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'confirm': self.id}) # 为数据生成加密签名,再对数据和签名序列化,生成令牌字符串
def generate_token(self, expiration=1200): s = Serializer(app.config['SECRET_KEY'], expires_in=expiration) return s.dumps({ 'id': self.id })
def generate_token(user): expiration = 3600 s = Serializer(current_app.config['SECRET_KEY'], expires_in=expiration) token = s.dump({"id": user.id}).decode('ascii') return token, expiration
def generate_auth_token(self, expiration=6000): s = Serializer('jklklsadhfjkhwbii9/sdf\sdf', expires_in=expiration) return s.dumps({'id': self.id})
def generate_active_token(self): serializer = Serializer(settings.SECRET_KEY, 3600) token = serializer.dumps({'token_user_id': self.id}) return token.decode()
def generate_auth_token(id, expiration=600): ss = str(id) s = Serializer(app.config['SECRET_KEY'], expires_in=expiration) return s.dumps({'id': ss})
def generate_token(user, operation, expire_in=None, **kwargs): s = Serializer(current_app.config['SECRET_KEY'], expire_in) data = {'id': user.id, 'operation': operation} data.update(**kwargs) return s.dumps(data)
def generate_password_reset_token(self, expiration=3600): """ Generate a password reset change token to email to an existing user. """ s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'reset': self.id})
def get_token(): s = Serializer(current_app.config['SECRET_KEY']) token = s.dumps({'username':g.username}) return jsonify({'token':token.decode('utf8')})
def generate_confirmation_token(self, expiration=604800): """Generate a confirmation token to email a new user.""" s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'confirm': self.id})
def get_token(data: dict, exp=Config.TOKEN_EXP): s = Serializer(Config.SECRET_KEY, exp) if not isinstance(data, dict): raise TypeError('data must be dict') return s.dumps(data).decode()
def generate_auth_token(uid, ac_type, scope=None, expiration=7200): s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'uid': uid, 'type': ac_type.value}).decode('utf-8')
def get_reset_token(self, expires_sec=1800): # Serializer from the 'itsdangerous' package s = Serializer(current_app.config['SECRET_KEY'], expires_sec) return s.dumps({'user_id': self.id}).decode('utf-8')
def generate_auth_token(self, expiration=600): s = Serializer('test', expires_in=expiration) return s.dumps({'id': self.id})
def generate_email_change_token(self, new_email, expiration=3600): s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'change_email': self.id, 'new_email': new_email})
def create_token(self, validity): if validity is None: s = Serializer(app.config['SECRET_KEY']) else: s = Serializer(app.config['SECRET_KEY'], expires_in=validity) return s.dumps({'user_id': self.id}).decode('utf-8')
def _makeToken(user): s = Serializer(current_app.config['SECRET_KEY'], 60) token = s.dumps({'id' : user.id}) return token.decode()
def generate_auth_token(data, secret_key=SECRET_KEY, expiration=60 * 60): s = Serializer(secret_key, expires_in=expiration) return s.dumps(data)
def generate_token(user_id): serializer = Serializer(current_app.config["SECRET_KEY"], expires_in=36000) return serializer.dumps({"user_id": user_id})
def generate_auth_token(self, epiration): s = Serializer(current_app.config['SECRET_KEY'], expires_in=epiration) return s.dumps({'id' : self.id})
def generate_email_change_token(self, new_email, expiration=3600): """Generate an email change token to email an existing user.""" s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'change_email': self.id, 'new_email': new_email})
def generate_confirmation_token(self, expiration=3600): s = Serializer(current_app.config['SECRET_KEY'], expiration) return s.dumps({'confirm': self.id})
def post(self, request): """注册处理""" print('----post----') # 1.接收参数 username = request.POST.get('user_name') # None password = request.POST.get('pwd') email = request.POST.get('email') # 2.参数校验(后端校验) # 校验数据的完整性 if not all([username, password, email]): return render(request, 'register.html', {'errmsg': '数据不完整'}) # 校验邮箱格式 if not re.match(r'^[a-z0-9][\w.\-]*@[a-z0-9\-]+(\.[a-z]{2,5}){1,2}$', email): return render(request, 'register.html', {'errmsg': '邮箱格式不正确'}) # 校验用户名是否已注册 try: user = User.objects.get(username=username) except User.DoesNotExist: user = None if user is not None: return render(request, 'register.html', {'errmsg': '用户名已注册'}) # 校验邮箱是否被注册... # 3.业务处理:注册 user = User.objects.create_user(username, email, password) user.is_active = 0 user.save() # 注册之后,需要给用户的注册邮箱发送激活邮件,在激活邮件中需要包含激活链接 # 激活链接: /user/active/用户id # 存在问题: 其他用户恶意请求网站进行用户激活操作 # 解决问题: 对用户的信息进行加密,把加密后的信息放在激活链接中,激活的时候在进行解密 # /user/active/加密后token信息 # 对用户的身份信息进行加密,生成激活token信息 serializer = Serializer(settings.SECRET_KEY, 3600) info = {'confirm': user.id} # 返回bytes类型 token = serializer.dumps(info) # str token = token.decode() # 组织邮件信息 # subject = '天天生鲜欢迎信息' # message = '' # sender = settings.EMAIL_FROM # receiver = [email] # html_message = """ # <h1>%s, 欢迎您成为天天生鲜注册会员</h1> # 请点击一下链接激活您的账号(1小时之内有效)<br/> # <a href="http://127.0.0.1:8000/user/active/%s">http://127.0.0.1:8000/user/active/%s</a> # """ % (username, token, token) # 发送激活邮件 # send_mail(subject='邮件标题', # message='邮件正文', # from_email='发件人', # recipient_list='收件人列表') # 模拟send_mail发送邮件时间 # import time # time.sleep(5) # send_mail(subject, message, sender, receiver, html_message=html_message) # 使用celery发出发送邮件任务 from celery_tasks.tasks import send_register_active_email send_register_active_email.delay(email, username, token) # 4.返回应答: 跳转到首页 return redirect(reverse('goods:index'))