18

我正在开发一个应用程序,其中用户有自己的 URL,他们需要使用 Google API - 当然使用不同的重定向 URI,比如

  • www.example.com/johndoe/google/login
  • www.example.com/foobar/google/login

所以首先我想我可以通过使用通配符(www.example.com/*/google/login)简单地解决这个问题,但不幸的是它不能那样工作。然后我开始用 Perl 编写一个简单的代理,但我不确定它是否会工作,而且我们的时间不多了。处理这种情况的最佳方法是什么?我曾考虑从注册处理程序向控制台添加一个新的重定向 URI,但我没有找到服务器可以执行此操作的任何方法。

4

2 回答 2

21

Google OAuth2 重定向 URI 不支持通配符。我认为最好的方法是使用单个重定向 URI,并在 state 参数中传递用户信息。state 参数作为响应返回给您。然后,当您收到授权代码/令牌时,您可以查找状态参数并适当地处理响应(例如,重定向到您的用户特定的 URL)。

这个答案有更多信息。

于 2013-01-22T20:21:00.577 回答
0

您可以在 wildacrds 中使用 * 作为子域。请参阅谷歌文章 这不是你想要的,但可以帮助别人

于 2021-09-16T13:28:38.247 回答