示例#1
0
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()
示例#2
0
 def generate_auth_token(self, secret_key, expiration=86400):
     s = Serializer(secret_key, expires_in=expiration)
     return s.dumps({'id': self.id})
示例#3
0
 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')
示例#4
0
def get_serializer(secret_key=None):
    return Serializer('secret_key')
示例#5
0
 def generate_api_token(self):
     serializer = Serializer(app.config['SECRET_KEY'])
     return serializer.dumps({'id': self.id})
示例#6
0
 def generate_token(self, expiration=600):
     s = Serializer(current_app.config['SECRET_KEY'], expiration)
     return s.dumps({'id': self.id}).decode('utf-8')
示例#7
0
def get_reset_token(user_id):
    serializer = Serializer(app.config['SECRET_KEY'], 1000)
    token = serializer.dumps({'id': user_id}).decode('utf-8')
    return token
示例#8
0
 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})  # 为数据生成加密签名,再对数据和签名序列化,生成令牌字符串
示例#9
0
 def generate_token(self, expiration=1200):
     s = Serializer(app.config['SECRET_KEY'], expires_in=expiration)
     return s.dumps({ 'id': self.id })
示例#10
0
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
示例#11
0
文件: model.py 项目: b1uema/Ark
 def generate_auth_token(self, expiration=6000):
     s = Serializer('jklklsadhfjkhwbii9/sdf\sdf', expires_in=expiration)
     return s.dumps({'id': self.id})
示例#12
0
文件: models.py 项目: pyxin/dj-blog
 def generate_active_token(self):
     serializer = Serializer(settings.SECRET_KEY, 3600)
     token = serializer.dumps({'token_user_id': self.id})
     return token.decode()
示例#13
0
def generate_auth_token(id, expiration=600):
    ss = str(id)
    s = Serializer(app.config['SECRET_KEY'], expires_in=expiration)

    return s.dumps({'id': ss})
示例#14
0
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)
示例#15
0
 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})
示例#16
0
def get_token():
    s = Serializer(current_app.config['SECRET_KEY'])
    token = s.dumps({'username':g.username})
    return jsonify({'token':token.decode('utf8')})
示例#17
0
    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})
示例#18
0
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()
示例#19
0
 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')
示例#20
0
 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')
示例#21
0
 def generate_auth_token(self, expiration=600):
     s = Serializer('test', expires_in=expiration)
     return s.dumps({'id': self.id})
示例#22
0
 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')
示例#24
0
文件: views.py 项目: hydewww/CTF-SSO
def _makeToken(user):
    s = Serializer(current_app.config['SECRET_KEY'], 60)
    token = s.dumps({'id' : user.id})
    return token.decode()
示例#25
0
def generate_auth_token(data, secret_key=SECRET_KEY, expiration=60 * 60):
    s = Serializer(secret_key, expires_in=expiration)
    return s.dumps(data)
示例#26
0
def generate_token(user_id):
    serializer = Serializer(current_app.config["SECRET_KEY"], expires_in=36000)
    return serializer.dumps({"user_id": user_id})
示例#27
0
文件: models.py 项目: junniepat/kuti
 def generate_auth_token(self, epiration):
     s = Serializer(current_app.config['SECRET_KEY'],
                    expires_in=epiration)
     return s.dumps({'id' : self.id})
示例#28
0
 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})
示例#29
0
 def generate_confirmation_token(self, expiration=3600):
     s = Serializer(current_app.config['SECRET_KEY'], expiration)
     return s.dumps({'confirm': self.id})
示例#30
0
    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'))