如何使用auth0和node.js在服务器中获取user.email?
在我的前台,我可以通过以下方式看到电子邮件:
console.log(auth.profile.email)
然后我调用这个服务来从后端检索一些信息,它是受保护的,所以你需要login以取回任何东西:
var metadata_req = { method: "GET", url: "http://localhost:80/protected/all/metadata" }
在后端,我正在使用node.js,并在做请求之前validation用户是否已login。
var jwtCheck = express-jwt({ secret: new Buffer(config.secret, 'base64'), audience: config.client_id });
但是如果我打印req.user,我只能看到iss,sub,aud,exp和iat。 我也希望看到电子邮件。
您可以通过在用户最初login时包含电子邮件许可权来获取req.user
的个人资料信息。
例如,在angular中使用锁看起来像这样:
auth.signin({ authParams: { scope: 'openid email' } }, function(profile, token) { // stuff }, function(err) { // error handling });
将您的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
检索你的req.params.emailId
- 我可以使用html5本地存储来存储用户authentication会话信息
- 通过angularjs在mongodb中插入embedded的文件
- 无法在NodeJs,AngularJs Web应用程序上加载资源:net :: ERR_CONNECTION_REFUSED
- 使用快递渲染玉石模板后,引导button间距丢失
- angular色http发布数据对象不被节点服务器视为对象
- nodejs restful api返回错误状态-1在离子angularjs $ http
- 使用angular度转换处理API错误的最佳做法
- MEAN应用程序的负载testing
- ExpressJS + NodeJS服务器不会提供CSS文件