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 配置页面中列出的内容:
我做错了吗?我是否应该能够从浏览器启动进程然后从服务器验证 authorizationCode?
我可以确认 api 密钥和客户端 ID 和密码都是正确的。
[更新]
为此,源和重定向 url 需要相同。这是一个痛苦,因为我在 google 文档中读到,您可以在可能托管在不同地方的各种应用程序 "packages" 之间共享授权代码。
无论如何 - 要使此工作正常,您可以使用以下命令通过 ember 代理 API:
ember server --proxy http://localhost:1337
然后将所有内容配置为 运行 到 http://localhost:4200 - 包括您在 google oauth 控制台上可能拥有的所有 URL。
从那时起,您所有最疯狂的梦想都会成真。
作为 AFAICS 这应该可以工作而不需要所有这些。
我在 http://localhost:4200 托管了一个 SPA 我还有一个 API 托管在 http://localhost:1337
我的 SPA 使用 Torii 来处理流程,我取回了 authorizationCode,然后我尝试将其发送到我的服务器进行处理。
这是我在 google 的配置:
如您所见,为了以防万一,我已经包含了所有可能的 URL!
现在,当我将该 authorizationCode 传递给我的服务器进行验证,然后向客户端提供一个会话时,我总是会返回 redirect_uri_mismatch
- 即使我可以在 google 的请求中看到redirectUrl 正是 oAuth 配置页面中列出的内容:
我做错了吗?我是否应该能够从浏览器启动进程然后从服务器验证 authorizationCode?
我可以确认 api 密钥和客户端 ID 和密码都是正确的。
[更新]
为此,源和重定向 url 需要相同。这是一个痛苦,因为我在 google 文档中读到,您可以在可能托管在不同地方的各种应用程序 "packages" 之间共享授权代码。
无论如何 - 要使此工作正常,您可以使用以下命令通过 ember 代理 API:
ember server --proxy http://localhost:1337
然后将所有内容配置为 运行 到 http://localhost:4200 - 包括您在 google oauth 控制台上可能拥有的所有 URL。
从那时起,您所有最疯狂的梦想都会成真。
作为 AFAICS 这应该可以工作而不需要所有这些。