【问题标题】:Github oauth multiple authorization callback URLGithub oauth 多重授权回调地址
【发布时间】:2016-06-26 19:17:34
【问题描述】:

我想在我的本地主机和我的实时域中工作,有什么方法可以插入多个回调到 github oauth 设置?我们如何解决这个问题?

Redirect URLs

【问题讨论】:

    标签: github oauth oauth-2.0


    【解决方案1】:

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

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

    例如,如果你的回调url是:domain.com/auth/github/callback,那么下面的回调url都是有效的:

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

    等等

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

    【讨论】:

    • 我的问题是我想要一个授权回调 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。正确的?我在下面提出了另一种解决方案。你怎么看?
    【解决方案2】:

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

    1. 我用于生产的官方 OAuth 应用程序

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

      • 客户端 ID:XYZ
      • 客户端密码:456
      • 授权回调地址:https://localhost/api/v1/security/oauth/github/callback

    当我在本地配置我的 API 时,我使用开发应用程序的 ID 和密码 (2)。在生产中,我使用我的官方应用程序 (1) 的 ID 和密码。

    【讨论】:

    • 这是正确的方法。其他一切都只是一个黑客。此外,Github 应该提供一种方法来指定多个回调。
    【解决方案3】:

    您可以修改主机文件并将您的域指向使用 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
    

    使用此解决方案,您无需维护两个单独的配置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-26
      • 1970-01-01
      • 2016-09-08
      • 1970-01-01
      • 2020-12-03
      • 1970-01-01
      • 2018-11-21
      • 2014-07-05
      相关资源
      最近更新 更多