Auth0 - 使用用户信息丰富数据

Posted

技术标签:

【中文标题】Auth0 - 使用用户信息丰富数据【英文标题】:Auth0 - enriching data with user information 【发布时间】:2017-02-01 14:24:40 【问题描述】:

我需要我的 API 来返回包含一些用户信息的对象。例如: api/comment/123需要返回:


    id: 123,
    author: 
         id: 'googleblahblah|123456789',
         name: 'James Bond'
    

通常我只会加入用户和评论表,但在这种情况下我不能。我的应用程序的数据库存储用户 ID,但名称(和其他用户内容)存储在 Auth0 中。

显然,对 Auth0 进行 API 调用以在每次 API 调用时“丰富”对象是不合理的。

我是否在我的应用服务器上缓存所有/一些用户信息? API结果中只有用户ID,让客户端丰富数据?

人们如何处理这个问题?

【问题讨论】:

我不知道Auth0,但是你标记了JWT,你不能把用户名放在里面吗? 我认为您可以创建一个可以即时更新用户信息的规则。唯一的问题是它是在 auth0 端执行的,所以你必须在你的一端创建一个 api 来公开数据...... 【参考方案1】:

我认为这个问题没有终极解决方案。

我所做的是在我自己的数据库中创建一个带有user iduser nameuser 表。每当有人通过 Auth0 登录时,我都会使用 OAuth 令牌信息创建或更新该表中的登录用户信息。

之后,您可以按照您的说明加入表格。

【讨论】:

以上是关于Auth0 - 使用用户信息丰富数据的主要内容,如果未能解决你的问题,请参考以下文章

用户注册后获取 auth0 用户信息

如何在使用 auth0 进行身份验证的反应应用程序中获取用户信息

Auth0 Laravel:验证令牌并获取用户信息

从 API 中访问 Auth0 登录用户?

Auth0 - 禁用用户配置文件缓存

登录用户 null Auth0/Spark Java