我想在本地主机和我的在线域上工作,有没有办法在GitHub OAuth设置中插入多个回调?我们如何解决这个问题?
我通过在Github上为我的本地开发环境创建一个专用的OAuth应用程序来解决了这个问题。现在我有以下两个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时,我使用开发应用程序(2)的ID和密钥。而在生产中,我使用官方应用程序(1)的ID和密钥。
坏消息是我们无法在GitHub OAuth设置中插入多个回调函数。
好消息是,我们可以在我们的回调URL下使用多个回调子URL,然后将其重定向(代理)到任何您想要的回调URL。
例如,如果您的回调URL为:domain.com/auth/github/callback,则以下回调URL都是有效的:
等等。
在重定向到带有所有参数的子回调-N后,然后我们可以跳转到任何其他预期的回调URL。
https://localhost/auth/github/callback
,另一个可以在生产中使用https://example.net/auth/github/callback
。根据您上面所描述的内容,是否可以实现这一点? - Alexis.Rollandhttps://example.net/auth/github/callback-localhost
,然后让你的服务器将其重定向到 localhost
来实现这个目标。 - Huanhttps://example.net/auth/github/callback
进行生产,那么这意味着我必须更改生产环境中我的Web服务器的配置以重定向到https://localhost/auth/github/callback
。对吗?我在下面提出了另一种解决方案。你觉得怎么样? - Alexis.Rolland不要使用localhost,你可以修改hosts文件并将你的域名指向127.0.0.1。在Mac上,打开位于以下位置的hosts文件:
Computer > Macintosh HD > etc
127.0.0.1 mycoolapp.com
当您想使用生产服务器进行测试时,请确保将此行注释掉:
#127.0.0.1 mycoolapp.com