【发布时间】:2016-06-26 19:17:34
【问题描述】:
我想在我的本地主机和我的实时域中工作,有什么方法可以插入多个回调到 github oauth 设置?我们如何解决这个问题?
【问题讨论】:
我想在我的本地主机和我的实时域中工作,有什么方法可以插入多个回调到 github oauth 设置?我们如何解决这个问题?
【问题讨论】:
坏消息是我们不能向 GitHub OAuth 设置插入多个回调。
好消息是我们可以在回调 url 下使用多个回调子 url,然后您可以将其重定向(代理)到您想要的任何回调 url。
例如,如果你的回调url是:domain.com/auth/github/callback,那么下面的回调url都是有效的:
等等
使用所有参数重定向到 sub-callback-N 后,我们可以按照您的预期跳转到任何其他回调 url。
【讨论】:
https://localhost/auth/github/callback 和一个用于生产https://example.net/auth/github/callback。这可以通过你上面描述的实现吗?
https://example.net/auth/github/callback-localhost,然后让您的服务器将其重定向到localhost 以存档。
https://example.net/auth/github/callback 将我的 OAuth 应用程序配置为生产环境,这意味着我必须更改我的 Web 服务器的配置在生产中重定向到https://localhost/auth/github/callback。正确的?我在下面提出了另一种解决方案。你怎么看?
我通过在 Github 上为我的本地开发环境创建一个专用的 OAuth 应用程序解决了这个问题。所以我有以下 2 个 OAuth 应用程序:
我用于生产的官方 OAuth 应用程序
ABC
123
https://example.com/api/v1/security/oauth/github/callback
我用于开发的私有 OAuth 应用程序
XYZ
456
https://localhost/api/v1/security/oauth/github/callback
当我在本地配置我的 API 时,我使用开发应用程序的 ID 和密码 (2)。在生产中,我使用我的官方应用程序 (1) 的 ID 和密码。
【讨论】:
您可以修改主机文件并将您的域指向使用 127.0.0.1,而不是使用 localhost。在 Mac 上,打开位于以下位置的 hosts 文件:
Computer > Macintosh HD > etc
为您的域添加条目。例如,如果您的域是 mycoolapp.com
127.0.0.1 mycoolapp.com
当您想使用生产服务器进行测试时,请务必注释掉这一行:
#127.0.0.1 mycoolapp.com
使用此解决方案,您无需维护两个单独的配置。
【讨论】: