缺少必需的参数:重定向
在我的MEAN Stack应用程序中使用passport-google-oauth: "0.2.0"
(在这里找到:https://github.com/jaredhanson/passport-google-oauth)。 当我运行应用程序并尝试使用Google API登录时,会返回此错误
错误:invalid_request
缺少必需的参数:redirect_uri
请求详细信息scope = https://www.googleapis.com/auth/plus.login response_type = code redirect_uri = client_id = xxxx-xxxx.apps.googleusercontent.com
重定向参数在这里是passport-init.js
var GoogleStrategy = require('passport-google-oauth')。OAuth2Strategy;
var GOOGLE_CLIENT_ID =“xxx-xxx.apps.googleusercontent.com”; var GOOGLE_CLIENT_SECRET =“xxxx”;
passport.use(新GoogleStrategy({
客户ID:GOOGLE_CLIENT_ID,
clientSecret:GOOGLE_CLIENT_SECRET,
callbackUrl:“http://127.0.0.1:3000/auth/google/oauth2callback”},函数(accessToken,refreshToken,profile,done){done(null,profile); }));
这里的路线是authenticate.js
router.get('/ google',passport.authenticate('google',{scope:['https://www.googleapis.com/auth/plus.login']}),function(req,res){} );
router.get('/ google / oauth2callback',passport.authenticate('google',{successRedirect:'/ auth / success',failureRedirect:'/ auth / failure'}),function(req,res){res.redirect ('/');});
我相信我错过了一些简单的东西,但我不知道要在这个问题中添加什么,这会给你提供最好的信息。 请问,我会尽力回答你。 这就是相关数据的感觉。
有趣的是,如果我手动添加callbackUrl,那么一切都很好。 我可以达到Google API的罚款。 然后,我可以选择“允许”或“拒绝”请求。
在定义GoogleStrategy时,JSON键应该是callbackURL而不是callbackUrl(即,首字母大写)。 有这个'问题'以及;-)
我有一个使用相同策略的工作示例。 由于我没有得到这个错误,不能确定问题是什么,但我想建议你检查以下内容:
添加到您的谷歌策略创建(新的GoogleStrategy({...}))范围:
范围:'https://www.googleapis.com/auth/userinfo.email',
确保您的google api在dev api控制台中正确配置。 特别: