如何使用 Oauth 请求提交和处理请求参数?
How do I submit and process request params with an Oauth request?
我正在使用 MeanJS 堆栈开发 Web 应用程序。我遇到的问题是,我的常规注册过程有一些独特的参数,这些参数对于 Oauth 用户配置文件并不常见。所以,当我让用户去注册 facebook 时,我将他们移动到一个新的注册表单,让他们填写额外的参数,然后单击 "signup with 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 注册一个参数加载请求(或者至少看起来是这样)。
而且我在 Whosebug 的其他地方读到您可以加载请求状态,但这对我来说真的很奇怪。这是 link:Facebook OAuth: custom callback_uri parameters
因此,如果有任何关于如何将额外数据加载到 Oauth 请求中以便在我保存用户配置文件时可以访问并保存它的指导,那就太好了。
谢谢大家。
我不太清楚你想要达到什么目的。 "extra" 字段是什么,为什么不直接从用户的个人资料中派生这些字段?。我见过的大约 98% 的 FB 登录实现仅使用 "Login with Facebook" 按钮并在 OAuth 过程中获取用户数据,而不是由用户手动输入。
以passport-facebook为例,你可能
a) 配置自定义范围
b) 使用自定义范围的数据丰富配置文件对象
profile
对象将自动包含额外的请求字段,您无需调整请求对象本身。
我正在使用 MeanJS 堆栈开发 Web 应用程序。我遇到的问题是,我的常规注册过程有一些独特的参数,这些参数对于 Oauth 用户配置文件并不常见。所以,当我让用户去注册 facebook 时,我将他们移动到一个新的注册表单,让他们填写额外的参数,然后单击 "signup with 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 注册一个参数加载请求(或者至少看起来是这样)。
而且我在 Whosebug 的其他地方读到您可以加载请求状态,但这对我来说真的很奇怪。这是 link:Facebook OAuth: custom callback_uri parameters
因此,如果有任何关于如何将额外数据加载到 Oauth 请求中以便在我保存用户配置文件时可以访问并保存它的指导,那就太好了。
谢谢大家。
我不太清楚你想要达到什么目的。 "extra" 字段是什么,为什么不直接从用户的个人资料中派生这些字段?。我见过的大约 98% 的 FB 登录实现仅使用 "Login with Facebook" 按钮并在 OAuth 过程中获取用户数据,而不是由用户手动输入。
以passport-facebook为例,你可能
a) 配置自定义范围
b) 使用自定义范围的数据丰富配置文件对象
profile
对象将自动包含额外的请求字段,您无需调整请求对象本身。