如何用Oauth请求提交和处理请求参数?

我正在使用MeanJS堆栈来开发一个Web应用程序。 我遇到的问题是,我的常规注册过程有一些Oauth用户configuration文件不常见的独特参数。 所以,当我有用户去注册Facebook的时候,我把它们移动到一个新的registry单上,让他们填写额外的参数,然后点击“用facebook注册”。

这些路由与在这里find的常见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')); 

我想要做的是有额外的参数附加到请求对象,所以当auth进程到达exports.saveOAuthUserProfile里面: https : //github.com/meanjs/mean/blob/master/app/ controllers / users / users.authentication.server.controller.js这个函数将能够访问这些参数并将它们保存为用户模型的一部分。

我已经尝试将参数附加到获取请求和访问

req.params.paramId

但这是行不通的,因为你不能注册一个param加载的请求与Facebook的API(或至less它似乎是这样)。

而且我在StackOverflow的其他地方读过,你可以加载请求状态,但对我来说这似乎很奇怪。 以下是该链接: Facebook OAuth:自定义callback_uri参数

因此,有关如何将额外数据加载到Oauth请求的指导,以便在保存用户configuration文件时,我可以访问并保存它,这将是非常棒的。

多谢你们。

我不清楚你想达到什么目的。 什么是“额外”字段,为什么不直接从用户configuration文件派生字段? 我见过的大约98%的FB Login实现只是使用“使用Facebooklogin”button,并在OAuth进程本身获取用户数据,而不是由用户手动input。

以护照-Facebook为例,这可能是你的

a)configuration自定义范围

b)使用自定义作用域的数据丰富configuration文件对象

然后profile对象将自动包含额外的请求字段,并且您不需要调整请求对象本身。