【发布时间】: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