Google OAuth 2.0。页面刷新后,javascript API不会保持“登录”状态

orb*_*kov 6 google-api oauth-2.0 google-plus angularjs

我正在使用google +用户身份验证开发AngularJS应用程序。我已经拿了angular-google-plus包(一个处理Google+ API登录的Angular模块)。

从本质上讲,登录将使用gapi对象:

gapi.auth.authorize(...)

页面未刷新时一切正常。例如,我可以使用以下命令从API中获取当前用户: gapi.client.oauth2.userinfo.get().execute(function() { ... })但同样,刷新页面时不会保留状态。

刷新页面后,我该怎么做才能保持“已登录”状态?看来Google API会“忘记”状态。

Gyu*_*hoi 1

我对你的代码感到陌生......真的吗OAuth 2.0?我认为您正在谈论Google Sign-In JavaScript 客户端,因为您提到了页面刷新。

我相信您无法立即获得任何信息,gapi.client.oauth2.userinfo因为没有代码来等待实例初始化。

执行如下操作then

gapi.auth2.init({client_id: "...", ...}).then(function(googleAuth) { // onInit
  console.log(googleAuth.isSignedIn.get());
}, function() { // onError
});
Run Code Online (Sandbox Code Playgroud)