如何处理任意数量的重定向URI?

时间:2013-01-22 10:49:56

标签: google-oauth

我正在开发一个用户拥有自己的网址的应用程序,他们需要使用Google API - 当然还有不同的重定向URI,例如

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

首先,我认为我可以通过使用通配符(www.example.com/*/google/login)简单地解决此问题,但遗憾的是,它无法正常工作。然后我开始在Perl中编写一个简单的代理,但我不确定它是否会起作用,而且我们已经没时间了。处理这种情况的最佳方法是什么?我考虑过从注册处理程序向控制台添加一个新的重定向URI,但我没有发现服务器可以做任何方式。

1 个答案:

答案 0 :(得分:15)

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

This answer有更多信息。