护照 – 有没有办法在第一次authentication呼叫覆盖redirect?

我有一个非常奇怪的要求,我需要在一个iframe中执行身份validation。 大多数login提供程序显然会阻止其身份validation页面在iframe内部运行,所以唯一的方法是在包含iframe的页面上触发redirect。 要做到这一点,我正在寻找一种方法来覆盖passport.authenticate的行为,以便它将返回一个200状态和redirect的URL作为参数,从而允许它被调用的JavaScript代码,然后将使用响应redirect父页面。

所以,例如,我试图自定义Twitter授权:

 //Callback is not called since redirect is followed automatically app.get('/auth/twitter', passport.authenticate('twitter'), function(req, res) { //set status to 200 and return url as parameter instead //of performing redirect }); //This callback route is easier to customize since it //doesn't do any implicit redirects app.get('/auth/twitter/callback', passport.authenticate('twitter', { successRedirect: '/', failureRedirect: '/login' })); 

我知道这是一个非常罕见的用例,但我只想知道是否有一种方法来configuration或重写此行为。 谢谢。