在使用基于令牌的身份验证时,我对在服务器端处理用户信息的方式感到有些困惑。
我正在使用 React 和 Flask 构建RESTful单页应用,我想将身份验证提供程序用作Auth0。
我看到它的方式,这是用户的工作流程:
jwt
localStorage
jwt
将沿请求我没有得到的是用户的数据如何适合这种模式,例如他们的电子邮件地址记录我的数据库中的更改:
id_token
?)返回并且应该在步骤3中作为声明传递?感谢您的帮助!
答案 0 :(得分:0)
是的,如果您在Auth0中拥有客户端的默认设置,则有关该用户的信息应该在您的id_token中。如果您在jwt.io
使用JWT调试器并将id_token粘贴到encoded
部分,则右侧将显示令牌的内容。
这基本上是解码令牌。您必须在应用程序中执行相同的操作才能使用用户的姓名,电子邮件,email_verified,...
通常的做法是在用户登录时对令牌进行一次解码(在前端)。将此信息存储在全局变量中,以便在整个应用程序中使用。
要在后端(Python)中使用,使用pyjwt
对令牌进行简单的解码解码您可能希望使用jsonwebtoken
库来处理前端的解码。