Github oauth多重授权回调URL

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.

我想在本地主机和live域中工作,有没有办法向github oauth设置插入多个回调?我们如何解决这个问题


坏消息是我们不能向GitHub OAuth设置插入多个回调

好消息是,我们可以在回调url下使用多个回调子url,然后您可以将其重定向(代理)到您想要的任何回调url

例如,如果回调url为:domain.com/auth/github/callback,则以下回调url均有效:

  • domain.com/auth/github/callback/sub-callback-1
  • domain.com/auth/github/callback/sub-callback-2
  • domain.com/auth/github/callback/sub-callback-3
  • 等等


    在使用所有参数重定向到sub-callback-N之后,我们可以跳转到您期望的任何其他回调url。

    我通过在Github上为本地开发环境创建专用的OAuth应用程序解决了这个问题。因此,我有以下两个OAuth应用程序:

  • 我的官方OAuth生产应用程序

    • 客户ID:
      ABC
    • 客户机密:
      123
    • 授权回调URL:
      https://example.com/api/v1/security/oauth/github/callback
  • 我的私有OAuth开发应用程序

    • 客户端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
    。对吗?我在下面提出了另一个解决方案。你怎么认为?