我有通过Express服务的SPA和后端API。
例如,我希望让用户获取仅属于他的数据,或者出于其他任何原因而被授予访问权限的数据(并进行计算,而不是仅基于身份验证状态和范围来保护路由)该访问权限所需要的不仅仅是范围,例如“是我要与我交朋友的用户”)。
这里建议的方法是什么?
据我所知,我应该将所有用户数据(在密码表之外)存储在我自己的数据库中,并在需要在后端识别用户时使用JWT的sub
属性。
此外,我想访问注册期间提供的用户数据(显然,这些数据不是作为JWT的一部分传输的),例如用户名和图片(如果他们通过Google进行了注册)。在这种情况下,我认为向Auth0添加一个钩子是适当的,每当用户注册时,钩子就会使用此信息更新我的本地数据库?
Auth0允许我扩展保存在服务器上的用户对象,并公开一个API,该API允许我通过其ID查询客户端数据,但这似乎比使用钩子要浪费得多。