github oauth有多个域名

pho*_*oet 7 multi-tenant github-api oauth-2.0

我正在运行一个在多个子域usergroupXYZ.onruby.de上运行的应用程序,并且还支持任意域作为别名.因此,您可以通过yourusergroup.onruby.de或customdomain.de访问域.

该应用程序通过twitter oauth和github oauth2提供登录.

问题是,我没有找到通过自定义域支持github auth的方法.我总是redirect_uri_mismatch从github 得到错误.

twitter auth在重定向到其他域时没有问题.

除了为每个自定义域创建一个github应用程序令牌之外,有没有人能解决这个问题?

Akb*_*hry 9

您可以覆盖回调URL,但必须与OAuth应用程序设置中的主机名匹配.本文档列出了好的和坏的匹配:http://developer.github.com/v3/oauth/#redirect-urls

由于允许使用不同的上下文,因此一种解决方案是在基本回调URL上创建不同的上下文,然后使用上下文信息重定向到特定主机.这意味着您将扮演"经纪人"的角色,并需要将一些信息传递给目标主机.

如果您的回调网址oauth.onruby.de,然后oauth.onruby.de/cust1oauth.onruby.de/cust2将根据Github上是有效的.然后,您可以重定向/cust1cust1.de/cust2cust2.de.

请记住,oauth.onruby.de它将充当网关或经纪人,并且需要确保没有安全风险.