【问题标题】:Meteor.js Google Oauth issuesMeteor.js Google Oauth 问题
【发布时间】:2013-07-31 02:27:54
【问题描述】:

我正在尝试将 Meteor 应用设置为使用 Google 登录, 这是我在 /server/config.js 文件中的设置

Accounts.loginServiceConfiguration.remove({
service: "google"
  });


Accounts.loginServiceConfiguration.insert({
service: "google",
clientId: "XXXXXXX",
secret: "XXXXXX"
  });

我在 google 上的设置指向 localhost:3000 我在我的流星应用上安装了 accounts-ui 和 accounts-google。

我在我的应用主页上看到了谷歌登录按钮,但是当我点击它时,我得到:

Error: redirect_uri_mismatch The redirect URI in the request: 
http://localhost:3000/_oauth/google?close 
did not match a registered redirect URI

【问题讨论】:

    标签: oauth meteor


    【解决方案1】:

    我正在使用 Nitrous.io,因为我在 Windows 上进行开发。这篇文章解释了为什么 google 会看到错误的 URI。

    https://github.com/shoebappa/vagrant-meteor-windows/issues/9

    基本上,您需要使用修改后的 ROOT_URL 启动流星,这样它就不会以 localhost 开头。

    将 localhost.meteor.com 替换为实际运行流星的 URL。 ROOT_URL=http://localhost.meteor.commeteor

    【讨论】:

      【解决方案2】:

      您必须使用 Google 的 API 控制台注册重定向 URL。 Log on to the console 并检查设置的重定向 URI。必要时添加本地主机

      更新:

      我自己试了一下,加了

       http://localhost:3000/_oauth/google?close 
      

      在 API 控制台中。我在 Hello World 应用中添加了 accounts-google 和 accounts-ui,并在页面中添加了登录按钮

      <body>
          {{loginButtons}}
          {{> hello}}
      </body>
      

      我同意弹出窗口中请求的权限并已登录。

      【讨论】:

      • 在谷歌控制台我有:`客户端ID:****电子邮件地址:****客户端密码:****重定向URI:localhost:3000 JavaScript来源:localhost:3000`还是不行,谢谢回复,请问您还有什么想法吗?
      【解决方案3】:

      另一个想法:您是否删除了自动发布? 如果是这样,您必须发布 userData,以便您的客户端可以访问用户。

      【讨论】:

      • 我在删除时拼错了 autopublish,这是导致问题的原因。现在解决了。
      【解决方案4】:

      我在https://gotlog.in 上遇到了同样的问题 当我将 https://gotlog.in/_oauth/google?close 作为回调 URL 时,它值得:

      1. 这是一个错误。 错误:invalid_client 没有应用程序名称

      当我按照设置弹出窗口中所说的那样回电 (https://gotlog.in/_oauth/google) 时,我得到了相同的结果:

      1. 这是一个错误。 错误:redirect_uri_mismatch 请求中的重定向 URI:https://gotlog.in/_oauth/google?close 与注册的重定向 URI 不匹配。

      我的根 URL 已设置且有效,但我没有发布用户数据。但是文档说:“默认情况下,当前用户的用户名、电子邮件和个人资料都会发布给客户端。”

      编辑:在这里找到解决方案:https://github.com/meteor/meteor/issues/2717

      我在 api 控制台中缺少同意屏幕信息。是的,回调 URL 最后必须有“?关闭”。万岁流星 =)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-28
        • 1970-01-01
        • 2016-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多