【发布时间】:2018-08-07 18:07:15
【问题描述】:
我正在尝试 Auth0 中的一些新 Hook 功能,特别是注册后挂钩。我希望使用user_id 配置文件字段,即provider|id,如here 所述,因此我们可以在应用程序端创建用户记录。我们会为我们的用户分配 UUID,但每个用户都有一个来自 Auth0 的唯一密钥。
钩子示例如下所示 - 我正在导出可供我使用的整个数据集:
module.exports = function (user, context, cb) {
var request = require('request');
request({
method: 'POST',
url: 'https://requestb.in/1ejaxvz1',
body: {
"id": user.id,
"user": user,
"context": context
},
json: true
},
function(error, response, body) {
console.log(user);
console.log(context);
cb(error, response)
});
};
然而,虽然这给了我用户的基本 ID,但似乎没有关于完整 user_id 的信息或关于 provider 的任何信息可用于钩子。换句话说,与其给我看起来像provider|12345678 的完整ID,我只得到12345678。当我从 Auth0 获取 jwt 时,sub 值返回为provider|12345678。
所以我的问题有两个部分: 1) 这个完整的用户 ID 是出于某种原因而有意遗漏,还是设计疏忽?在撰写本文时,此功能仍处于测试阶段。
2) 如果没有完整的用户 ID provider|12345678,我无法对 jwt 中的 sub 值进行完全匹配。但是,我可以尝试通过删除 provider 来进行部分匹配。不过,我不清楚这是否是一种有效的做法。我怀疑不是,但这很难测试。
【问题讨论】:
标签: auth0 openid-connect