【问题标题】:Auth0 Add Custom Claims to User ProfileAuth0 将自定义声明添加到用户配置文件
【发布时间】:2020-03-16 20:06:48
【问题描述】:

我希望 Auth0 在用户配置文件中发送一些附加信息。所以我创建了以下规则:

function (user, context, callback) {
  user.app_metadata = user.app_metadata || {};
  user.app_metadata.test = "some info here";
    auth0.users.updateAppMetadata(user.user_id, user.app_metadata)
      .then(function() {
        context.idToken['https://example.com/test'] = user.app_metadata.test;
        callback(null, user, context);
      })
      .catch(function(err) {
        callback(err);
      });
}

但是,而不是收到这个(我所期望的):

{
  user_metadata: {
   test: "some customer id"
  }
  nickname: "afaafa11fdf"
  name: "afaafa11fdf@bob.com"
}

我收到这个:

{
  https://example.com/test: "some customer id"
  nickname: "afaafa11fdf"
  name: "afaafa11fdf@bob.com"
}

我一直在关注these guidelines here

【问题讨论】:

  • 文章提到了一些关于使用 Auth0 管理 API 为该用户设置应用程序特定信息的内容。是你做的吗?也许它需要将您正在附加的信息关联为用户元数据,而不是仅将一些任意键值附加到对象。另一件事:命名空间是否与您的应用程序域匹配? (肯定不是 example.com)
  • 感谢您的回复。我正在使用管理 API 来设置元数据。这基本上就是auth0.users.updateAppMetadata 所做的。该信息也正确存储在用户配置文件中。我猜那是什么意思是Auth0域?例如mysite.auth0.com ?我会试试的!再次感谢。

标签: javascript node.js authentication oauth-2.0 auth0


【解决方案1】:

我联系了 Auth0,显然这是期望的行为。我预料到了错误的结果,但我上面描述的并且实际上收到的结果是正确的。因此,对于任何有这个问题的人,您最终都会收到以下内容:

{
  https://example.com/test: "some customer id"
  nickname: "afaafa11fdf"
  name: "afaafa11fdf@bob.com"
}

【讨论】:

    猜你喜欢
    • 2018-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 2021-10-31
    • 2019-03-24
    相关资源
    最近更新 更多