7

http://api.chan15.info/google-stackoverflow.html

这是我用来让用户通过 Google JavaScript API 登录的示例代码,它的工作,下一步是使用用户 ID 通过 PHP 登录到本地服务器,但是通过 JavaScript 使用用户 ID 是非常危险的,我想要的真实程序是:

  1. 通过 JavaScript API 登录用户
  2. 从 JavaScript 获取 access_token
  3. 将访问令牌传递给 PHP
  4. 使用 Google OAuth 的访问令牌通过 PHP 再次获取用户 ID
  5. 通过用户 id 登录用户

但我不知道如何获取访问令牌。

4

1 回答 1

5

用户使用 Javascript Oauth2 API 登录到他们的 Google 帐户后,可以在此处找到访问令牌:

gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse().access_token;

我用它来将令牌传递给单独的 curl PHP 请求以及 CORS。由于 Google 的 JS API 仍然是 Beta 版,因此过去我不得不求助于发送 PHP curl 请求。如果您打算在用户离开后存储令牌以供访问,我还将获取令牌到期日期并调用另一个函数,该函数在到期或明确撤销时清除存储的令牌。但对我来说,每次成功登录后立即拉取它更容易,因为我只需要使用 AJAX 作为创可贴实时调用 PHP 函数一次。

PS:您可能希望将原始类别从 Java 更改为 Javascript

于 2017-03-30T11:34:11.330 回答