我使用passport.js和auth0策略来授权用户
我还使用了auth0的托管登录页面,该页面支持customQueryParam
这样的查询参数
ex:https://cool-startup.auth0.com/login?client=some_client_ID&...bunch of params...&customQueryParam=true
您可以使用customQueryParam
来控制auth0托管登录页面并显示Flash消息和内容,方便
这是我的问题
在我的auth0中间件运行之后,我已经确定我需要将用户重定向到带有自定义参数的auth0登录页面,我应该如何在使用passport.js /可能的情况下实现这一点?
我在这里查看源代码 https://github.com/auth0/passport-auth0/blob/master/lib/index.js 它继承自https://github.com/jaredhanson/passport-oauth2/blob/9ddff909a992c3428781b7b2957ce1a97a924367/lib/strategy.js
我有点难过
这里是我发现我有错误的地方,我需要使用网址中的自定义参数将用户重定向回auth0
app.get('/auth/callback', (req, res, next) => {
passport.authenticate('auth0',
{},
(err, user) => {
if (err) {
// run passport.authenticate('auth0',
// again, but add custom query param
}
return res.redirect('/');
})(req, res, next);
});
非常感谢任何帮助/感谢阅读
答案 0 :(得分:3)
您可以像在此处一样自行构建/authorize
网址并手动重定向:https://github.com/auth0-samples/auth0-regular-webapp-login-with-sso-and-api/blob/master/utils/authorize.js
由于URL在您的控件中,您可以添加任何查询参数(尽管向登录页面发送非标准查询参数通常是不鼓励的)。