Meteor 移动应用程序为 Google OAuth 提供了 redirect_uri_mismatch,如何修复帐户 URL?

标签 meteor oauth

这都是针对本地开发环境(在 OS X 中)的,我有:

  1. 带有虚拟主机的本地 nginx
  2. 应用程序在 myapp.dev 上正常运行(代理到 localhost:3000)
  3. 已创建 Google 应用
  4. ServiceConfiguration.configurations 正确设置服务、clientId、loginStyle 和 secret

但是当点击 Google 按钮登录时,我得到:

  1. That’s an error.

Error: redirect_uri_mismatch

Application: MyApp

You can email the developer of this application at: [email protected]

The redirect URI in the request: http://localhost:3000/_oauth/google did not match a registered redirect URI.

这在技术上是正确的,因为 Google 不接受为回调提供特定的 IP 地址(仅限 localhost 或某个域),因此我需要将其设置为回调 http://myapp。 dev/_oauth/google 这样我就可以从移动设备上使用它。

问题似乎与尝试重定向 localhost:3000 而不是 myapp.dev 的帐户有关

我不知道如何设置帐户来使用此域,或者也许是告诉 meteor 应用程序它应该使用 myapp.dev 域的全局方式

解决这个问题的方法是为 Meteor 移动应用程序设置任何开发环境。谢谢

最佳答案

google.js 使用 absoluteUrl() 创建回调 URL,因此在客户端启动时设置此参数应该会为您提供所需的回调:

Meteor.startup(function () {
  // Client startup method.
  Meteor.absoluteUrl.defaultOptions.rootUrl = 'http://myapp.dev/';
});

关于Meteor 移动应用程序为 Google OAuth 提供了 redirect_uri_mismatch,如何修复帐户 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31894134/

相关文章:

javascript - 是否可以使用 Meteor 在客户端中列出 SimpleSchema 模式的 allowedValues?

node.js - meteor mup永久怎么用?

facebook - 如何在 Meteor 中使用 accounts-facebook 获取用户的电子邮件地址?

java - 谁有权使用 Google 的 OAuth 2 客户端访问我的应用程序?

javascript - 在不使用 Google 帐户登录的情况下使用 Google Picker(使用 OAuth)

meteor - 我可以覆盖/扩展 Meteor 方法吗?

Meteor 可重复使用的组件

oauth - 为什么 OAuth 2 有资源所有者密码凭证授予?

facebook - publish_actions 权限错误

authentication - react 路由器 : Handling role authentication