在我的前端,我可以看到电子邮件:
console.log(auth.profile.email)
然后我调用此服务从后端检索一些信息,它受到保护,因此您需要登录才能获得任何回复:
var metadata_req = {
method: "GET",
url: "http://localhost:80/protected/all/metadata"
}
在后端,我正在使用node.js并在执行请求之前验证用户是否已登录:
var jwtCheck = express-jwt({
secret: new Buffer(config.secret, 'base64'),
audience: config.client_id
});
但是如果我打印出req.user,我只会看到iss,sub,aud,exp和iat。我也希望看到这封电子邮件。
答案 0 :(得分:2)
您可以通过在用户最初登录时添加电子邮件权限来获取req.user
中的个人资料信息。
例如,在角中使用锁定将如下所示:
auth.signin({
authParams: {
scope: 'openid email'
}
}, function(profile, token) {
// stuff
}, function(err) {
// error handling
});
答案 1 :(得分:0)
将您的API定义从"all/metadata"
更改为"all/metadata/:emailId"
调用您的API
var metadata_req = {
method: "GET",
url: "http://localhost:80/protected/all/metadata/{your_email_id}"
}
在NodeJS中,从req.params.emailId