Github oauth多重授权回调URL
我想在本地主机和live域中工作,有没有办法向github oauth设置插入多个回调?我们如何解决这个问题Github oauth多重授权回调URL,github,oauth,oauth-2.0,Github,Oauth,Oauth 2.0,我想在本地主机和live域中工作,有没有办法向github oauth设置插入多个回调?我们如何解决这个问题 坏消息是我们不能向GitHub OAuth设置插入多个回调 好消息是,我们可以在回调url下使用多个回调子url,然后您可以将其重定向(代理)到您想要的任何回调url 例如,如果回调url为:domain.com/auth/github/callback,则以下回调url均有效: domain.com/auth/github/callback/sub-callback-1 domain.
坏消息是我们不能向GitHub OAuth设置插入多个回调 好消息是,我们可以在回调url下使用多个回调子url,然后您可以将其重定向(代理)到您想要的任何回调url 例如,如果回调url为:domain.com/auth/github/callback,则以下回调url均有效:
在使用所有参数重定向到sub-callback-N之后,我们可以跳转到您期望的任何其他回调url。我通过在Github上为本地开发环境创建专用的OAuth应用程序解决了这个问题。因此,我有以下两个OAuth应用程序:
- 客户ID:
ABC
- 客户机密:
123
- 授权回调URL:
https://example.com/api/v1/security/oauth/github/callback
- 客户端ID:
XYZ
- 客户机密:
456
- 授权回调URL:
https://localhost/api/v1/security/oauth/github/callback
在本地配置API时,我使用开发应用程序的ID和机密(2)。在生产中,我使用我的官方应用程序(1)的ID和机密。您可以修改您的主机文件,并将您的域指向使用127.0.0.1,而不是使用localhost。在Mac上,打开位于以下位置的主机文件:
Computer > Macintosh HD > etc
为您的域添加条目。例如,如果您的域是mycoolapp.com
127.0.0.1 mycoolapp.com
当您想使用生产服务器进行测试时,请确保注释掉这一行:
#127.0.0.1 mycoolapp.com
使用此解决方案,您不需要维护两个单独的配置。我的问题是我希望一个授权的回调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
这意味着我必须在生产中更改web服务器的配置,以重定向到https://localhost/auth/github/callback
。对吗?我在下面提出了另一个解决方案。你怎么认为?