Github oauth多个授权回调URL

时间:2016-03-11 13:51:59

标签: github oauth oauth-2.0

我想在我的localhost和我的实时域中工作,有没有办法在github oauth设置中插入多个回调?我们如何解决这个问题?

Redirect URLs

3 个答案:

答案 0 :(得分:6)

坏消息是我们无法在GitHub OAuth设置中插入多个回调。

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

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

  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
  4. 在使用所有参数重定向到子回调-N后,我们可以按预期跳转到任何其他回调网址。

答案 1 :(得分:4)

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

  1. 我的正式OAuth生产应用程序

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

    • 客户ID:XYZ
    • 客户秘密:456
    • 授权回调URL:https://localhost/api/v1/security/oauth/github/callback

在本地配置API时,我使用开发应用程序的ID和密码(2)。在生产中,我使用我的正式申请(1)的ID和机密。

答案 2 :(得分:1)

您可以修改hosts文件并指向您的域以使用127.0.0.1,而不是使用localhost。在Mac上,打开位于以下位置的主机文件:

Computer > Macintosh HD > etc

为您的域添加条目。例如,如果您的域名是mycoolapp.com

127.0.0.1 mycoolapp.com

当您要使用生产服务器进行测试时,请确保将以下行注释掉:

#127.0.0.1 mycoolapp.com

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