当前位置: 首页 > 知识库问答 >
问题:

缺少必需参数:redirect_uri with passport-google-oauth

夹谷茂
2023-03-14

在我的MEAN Stack应用程序中使用passport-google-oauth:“0.2.0”(可在此处找到:https://github.com/jaredhanson/passport-google-oauth)。当我运行应用程序并尝试使用Google API登录时,将返回此错误

错误:invalid_request

请求详细信息scope=https://www.googleapis.com/auth/plus.login response_type=code redirect_uri=client_id=xxxx-xxx.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({
clientid:GOOGLE_CLIENT_ID,
clientsecret:GOOGLE_CLIENT_SECRET,
callbackURL:“http://127.0.0.1:3000/auth/google/oauth2callback”},function(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,那么所有的工作都很好。我可以很好地访问谷歌API。然后我可以选择“允许”或“拒绝”请求。

共有1个答案

阎彬炳
2023-03-14

在定义GoogleStrategy时,JSON键应该是callbackURL而不是callbackURL(即大写URL)。也有这个“问题”;-)

 类似资料:
  • 我正在尝试在Titanium应用程序中从Google获取access_token以访问Google API。我在Google API控制台中注册了一个Android Oauth2.0客户端,因此我有一个客户端ID和两个由Google生成的重定向uri:[“urn:ietf:wg:oauth:2.0:oob”,“http://localhost“]。我正在尝试遵循授权代码流,因此我向endpoint

  • 问题内容: 我有一个重写版本discord.py。如果消息中包含内容,则不会发生错误。如果消息中内容不存在,则我希望该错误不会发生。 我的代码: 完整回溯: 问题答案: 命令解析参数的方式意味着定义 表示需要单词作为命令调用的一部分。如果您想捕获消息的其余部分,则可以使用仅关键字参数语法: 此功能在此处记录。

  • 问题内容: 我正在开发一个游戏作为附带项目,很有趣,但是遇到了这个错误,我真的不知道为什么会发生… 这是代码: 我这样称呼它: 我得到的错误是: 有任何想法吗? 问题答案: 您不应直接调用类方法,而应创建该类的实例: 要详细说明该错误,您将得到: TypeError:turn()缺少1个必需的位置参数:“ playerImages” 这是因为需要第一个参数()的实例。类方法总是将实例作为第一个参数

  • 我无法通过错误: 我检查了几个教程,但似乎没有什么不同于我的代码。我唯一能想到的是Python3.3需要不同的语法。 如果我理解正确,会自动传递给构造函数和方法。我做错了什么?

  • 问题内容: 我是python新手,碰壁了。我遵循了一些教程,但无法克服错误: 我检查了一些教程,但似乎与我的代码没有什么不同。我唯一能想到的是python 3.3需要不同的语法。 主要技巧: 泵类: 如果我正确理解,“自我”将自动传递给构造函数和方法。我在这里做错了什么? 我正在将Windows 8与python 3.3.2一起使用 问题答案: 你需要在此处实例化一个类实例。 采用 小例子

  • 我尝试在谷歌中找到解决方案,但谷歌中的所有解决方案都不适合我,也许在这里我得到了正确的答案。 我有以下代码: 我得到了这个错误: 回溯(最后一次调用):文件“位置文件”,第42行,在g=gui_main()文件“位置文件”的第26行,在init btn_next=按钮(self.win_about,text=“next”,fg=“red”,command=gui_main.screen_menu(