【发布时间】:2020-04-22 05:58:29
【问题描述】:
我已经创建了一个基于 JWT 令牌的登录系统,我能够生成令牌并且我已经为该令牌添加了到期时间。
要求:
当用户访问 UI 时,令牌不应过期。
当用户 10 分钟未访问 UI 时,令牌应过期。
我将 Angular 用于 UI,将 python 烧瓶用于后端,我不需要从哪里(UI 或后端)处理这个问题。我在想我们必须从 python 烧瓶中处理它,所以我使用了 python 和烧瓶标签,如果我错了,请告诉我。
我的后端代码:
def loginM(email, password):
try:
time_count = get_time_count_details()
user = Credentials.query.filter_by(email=email).first()
user_reg = Registration.query.filter_by(email=email).first()
if bcrypt.check_password_hash(user.password, password):
payload = {"email": user.email, 'user_id': user.user_id,
'first_name': user_reg.first_name,
'company': user_reg.company, 'mobile_num': user_reg.mobile_number,
'exp': time.time() + time_count}
secret_key = open(SECRET_KEY).read()
token = jwt.encode(payload, secret_key, algorithm='RS256').decode('utf-8')
return dict(token=token)
else:
return dict(Unsucessful="Invalid Email Address and password")
except Exception:
return False
【问题讨论】:
标签: python-3.x flask