子域名的Google Auth代理
由于谷歌认证不支持重定向网址中的通配符,我想为谷歌认证创建一个代理解决方案。我看过以下两个帖子,但还需要一些进一步的解释:
首先,我有一个域名,比如 www.abcxyz.com。
我需要让谷歌认证机制适用于多个子域名,比如:
alpla.abcxyz.com
beta.abcxyz.com
以及其他动态创建的子域名。
以下是我想尝试的方案:
- 我在客户端密钥的json文件中只会有一个重定向网址,比如 google.abcxyz.com。
- 在创建重定向网址时,我会在状态参数中传递子域名的名称“alpha”。
- 一旦谷歌将认证代码发送到 google.abcxyz.com,我的代理代码会读取状态参数,并将请求转发到 alpha.abcxyz.com。这个域名将用认证代码换取访问令牌和刷新令牌。
这种机制能否正常工作,还是我需要做更多的事情?
访问令牌能否在子域名上使用?
当访问令牌过期时会发生什么?
1 个回答
0
我最开始以为这个问题会严重影响我系统的自动化,但看起来其实有个简单的解决办法。
- 重定向的URL应该包含主域名,并且在Google的客户端密钥和Google API控制台中都要有。
- 在状态中传递子域名。
- 在主域名的Apache配置中读取查询字符串,然后进行相应的重定向。(可以看看这篇博客,了解如何根据查询字符串进行重定向)。