Google oAuth2 流程 - 我做错了什么?

Google oAuth2 flow - what am I doing wrong?

我在 http://localhost:4200 托管了一个 SPA 我还有一个 API 托管在 http://localhost:1337

我的 SPA 使用 Torii 来处理流程,我取回了 authorizationCode,然后我尝试将其发送到我的服务器进行处理。

这是我在 google 的配置:

如您所见,为了以防万一,我已经包含了所有可能的 URL!

现在,当我将该 authorizationCode 传递给我的服务器进行验证,然后向客户端提供一个会话时,我总是会返回 redirect_uri_mismatch - 即使我可以在 google 的请求中看到redirectUrl 正是 oAuth 配置页面中列出的内容:

http://localhost:1337/api/v1/auths/google_oauth2

我做错了吗?我是否应该能够从浏览器启动进程然后从服务器验证 authorizationCode?

我可以确认 api 密钥和客户端 ID 和密码都是正确的。

[更新]

这是回购协议:https://github.com/wayne-o/ember-waterlock-example

为此,源和重定向 url 需要相同。这是一个痛苦,因为我在 google 文档中读到,您可以在可能托管在不同地方的各种应用程序 "packages" 之间共享授权代码。

无论如何 - 要使此工作正常,您可以使用以下命令通过 ember 代理 API:

ember server --proxy http://localhost:1337

然后将所有内容配置为 运行 到 http://localhost:4200 - 包括您在 google oauth 控制台上可能拥有的所有 URL。

从那时起,您所有最疯狂的梦想都会成真。

作为 AFAICS 这应该可以工作而不需要所有这些。