我正在构建一个非常基本的应用程序,在注册页面中,用户输入他的用户名和通行证,如果所有检查通过,用户名和通行证存储在数据库中,用户被重定向到订单页面,在那里他可以订购物品。此订单页面执行JWT身份验证,这就是为什么在成功注册后,必须将令牌传递到订单页面的原因。因此,注册页面的实现如下:
try:
cursor.execute(INSERT_NEW_CUSTOMER_QUERY.format(customer_id=cid,
hashed_passwd=hashed_passwd))
conn.commit()
except psycopg2.OperationalError as err:
print(err)
except psycopg2.InternalError as err:
print(err)
except psycopg2.DataError as err:
print(err)
close_connection(conn, cursor)
payload = {
'cid': cid,
'exp': str(datetime.datetime.utcnow() + datetime.timedelta(minutes=30))
}
token = None
try:
token = jwt.encode(payload, SECRET, algorithm='HS256')
except jwt.exceptions as err:
print(err)
redirect_url = f"/order?token={token}"
return redirect(redirect_url)
问题是令牌在URL中是可见的,这是实现所期望的。但是我想把它作为标题发送到订单页面。
请告诉我是否有办法在Flask中做到这一点。
您可以返回用于身份验证的数据设置cookie浏览器或会话