Python Flask登录令牌加载器

Python Flask登录令牌加载器,python,session,authentication,flask,Python,Session,Authentication,Flask,我正在使用Flask登录扩展设置Flask应用程序。flask登录文档建议设置一个替代令牌生成器,它不只是使用用户ID和应用程序机密来创建会话令牌(这是默认方法)。但它没有提供任何关于如何做到这一点的明确建议 因此,对于User.get\u auth\u token(),我使用make\u secure\u token函数,将用户电子邮件和密码作为参数(因此我得到这些参数的散列+应用程序机密) 接下来,我需要能够使用token\u加载器回调从令牌中获取用户。在flask login中生成令牌的默

我正在使用Flask登录扩展设置Flask应用程序。flask登录文档建议设置一个替代令牌生成器,它不只是使用用户ID和应用程序机密来创建会话令牌(这是默认方法)。但它没有提供任何关于如何做到这一点的明确建议

因此,对于
User.get\u auth\u token()
,我使用
make\u secure\u token
函数,将用户电子邮件和密码作为参数(因此我得到这些参数的散列+应用程序机密)

接下来,我需要能够使用
token\u加载器
回调从令牌中获取用户。在flask login中生成令牌的默认方法是同时包含原始用户ID和用户ID+app secret的哈希。这使得从令牌中查找用户变得非常简单——只需获取ID并查找用户即可

但是我应该在会话令牌中公开用户ID吗?如果我没有,我应该将会话令牌存储在数据库中,还是使用用户ID存储在其他地方,以便进行查找


简而言之:有人知道创建安全令牌和相应的
token\u加载器
回调的最佳实践吗?

在Flask邮件列表上,Matt Wright在Flask安全扩展中向我指出。他使用创建一个签名令牌,该令牌对由用户ID和密码散列组成的序列化(via)列表进行编码。然后可以解码令牌以获取用户ID