在我的项目中,我有三个页面,我将oAuth请求发送到谷歌。我想在谷歌管理控制台提供重定向URI参数。由于我有三个页面,我需要添加三个回调URI。是否有可能只添加一个适用于三页的callbackURI。
由于项目流程要求,我不想在一个页面中发出请求,然后在其中包含其他页面。
答案 0 :(得分:1)
Google API PHP客户端有一个函数setState()
,您可以在其中设置任何数据,例如唯一字符串,Google会在授权请求后使用令牌将其返回。然后,您的应用程序将使用此字符串并相应地重定向您的用户。
在包含三个页面的情况下,假设每个页面的唯一ID为1,2和3.当用户从第1页进行身份验证时,您可以执行以下操作。
$state = '1';
$client->setState($state);
$authUrl = $client->createAuthUrl();
然后,在Google的回复中,您将获得state
参数,您的应用会识别出1属于第1页并重定向用户。
https://developers.google.com/accounts/docs/OAuth2WebServer#formingtheurl
表示可能对您的应用程序有用的任何状态 收到回复。 Google授权服务器往返 此参数,因此您的应用程序将收到与其发送的值相同的值。 可能的用途包括将用户重定向到正确的资源 您的网站,随机数和跨站点请求伪造缓解措施。