我使用 Google OAuth 对我的应用程序上的用户进行身份验证,并面临以下问题redirect_uri
支持多个客户端应用程序。
在服务器端,我提供了一个使用 Google PHP SDK 的 REST API,登录流程几乎与此处描述的类似:https://developers.google.com/identity/sign-in/web/server-side-flow
我有两个客户端应用程序:一个使用 JavaScript SDK 的网站和一个使用 android 客户端的 Android 应用程序,实现为https://developers.google.com/identity/sign-in/android/start-integrating
我没有在Google控制台中配置redirect_uri。我的问题是我设置了redirect_uri
to postmessage
在我的服务器代码中,但我无法在 Android 应用程序中使用它:我得到一个redirect_uri mismatch
error.
$this->client = new Google_Client;
$this->client->setRedirectUri('postmessage');
如果没有这个 uri,我的网络客户端上的 google 登录会抛出错误“获取 OAuth2 访问令牌时出错,消息:
invalid_request:缺少参数:redirect_uri
如果我不指定redirect_uri,则登录在 Android 上工作正常,但 Web 客户端无法工作。我该如何解决这个问题?
您需要按如下方式设置重定向 uri:
- 如果是 web sdk 将其设置为
'postmessage'
- 如果它是移动设备(在你的情况下是android),请将其设置为
''
(空字符串)
从客户端传递某种标识符,以便您在服务器中知道应该设置哪个重定向 uri。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)