【发布时间】:2015-12-31 17:08:39
【问题描述】:
在我的 MEAN Stack 应用程序中使用 passport-google-oauth: "0.2.0"(可在此处找到:https://github.com/jaredhanson/passport-google-oauth)。当我运行应用程序并尝试使用 Google API 登录时,会返回此错误
- 这是一个错误。
错误:invalid_request
缺少必需参数:redirect_uri
请求详情 范围=https://www.googleapis.com/auth/plus.login response_type=代码 重定向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(new GoogleStrategy({
客户 ID:GOOGLE_CLIENT_ID,
clientSecret:GOOGLE_CLIENT_SECRET,
callbackUrl: "http://127.0.0.1:3000/auth/google/oauth2callback" }, 功能(访问令牌,刷新令牌,配置文件,完成){ 完成(空,配置文件); }));
路线在这里authenticate.js
router.get('/google', passport.authenticate('google', {范围:['https://www.googleapis.com/auth/plus.login']}), 函数 (req, res){ });
router.get('/google/oauth2callback', passport.authenticate('google', { successRedirect: '/auth/success', failureRedirect: '/auth/failure' }) , 函数 (req, res) {res.redirect('/');} );
我确定我遗漏了一些简单的东西,但我不知道在这个问题中添加什么可以为您提供最佳信息。请询问,我会尽我所能回答你。这就是相关数据的感觉。
有趣的是,如果我手动添加 callbackUrl,那么一切都会很好。我可以很好地访问 Google API。然后我可以选择“允许”或“拒绝”该请求。
【问题讨论】:
-
我打算放弃这种方法,改用github.com/google/google-api-nodejs-client。
标签: node.js express google-oauth passport-google-oauth