【发布时间】:2015-08-13 13:47:51
【问题描述】:
我正在使用 MeanJS 堆栈来开发 Web 应用程序。我遇到的问题是,我的常规注册过程有一些独特的参数,这些参数在 Oauth 用户配置文件中并不常见。所以,当我让用户去 facebook 注册时,我将他们移动到一个新的注册表单,让他们填写额外的参数,然后点击“用 facebook 注册”。
路由与此处找到的常见 MeanJS 路由相同: https://github.com/meanjs/mean/blob/master/app/routes/users.server.routes.js
特别是这些行:
app.route('/auth/facebook').get(passport.authenticate('facebook', {
scope: ['email']
}));
app.route('/auth/facebook/callback').get(users.oauthCallback('facebook'));
我想做的是将额外的参数附加到请求对象上,这样当身份验证过程到达exports.saveOAuthUserProfile 内部时:https://github.com/meanjs/mean/blob/master/app/controllers/users/users.authentication.server.controller.js
此函数将能够访问这些参数并将它们保存为用户模型的一部分。
我已尝试将参数附加到 Get 请求并访问
req.params.paramId
但这不起作用,因为您无法使用 facebook api 注册参数加载请求(或者至少看起来是这样)。
我在 StackOverflow 上的其他地方读到过,您可以加载请求状态,但这对我来说似乎很奇怪。这是链接:Facebook OAuth: custom callback_uri parameters
所以,任何关于如何将额外数据加载到 Oauth 请求中的指导,以便在我保存用户配置文件时可以访问并保存它,这将是非常棒的。
谢谢各位。
【问题讨论】:
标签: node.js facebook-graph-api express oauth meanjs