Angularjs 谷歌OAuth2.0。javascript API不支持';“不要留下来”;“已登录”;页面刷新后

Angularjs 谷歌OAuth2.0。javascript API不支持';“不要留下来”;“已登录”;页面刷新后,angularjs,oauth-2.0,google-api,google-plus,Angularjs,Oauth 2.0,Google Api,Google Plus,我正在开发一个带有google+用户身份验证的AngularJS应用程序。我使用了angular google plus软件包(一个angular模块,用google+API处理登录) 在其核心,登录将使用gapi对象: gapi.auth.authorize(…) 页面不刷新时,一切正常。例如,我可以通过以下方式从API获取当前用户: gapi.client.oauth2.userinfo.get().execute(function(){…})但是,当我刷新页面时,状态将不会保持 刷新页面后

我正在开发一个带有google+用户身份验证的AngularJS应用程序。我使用了angular google plus软件包(一个angular模块,用google+API处理登录)

在其核心,登录将使用gapi对象:

gapi.auth.authorize(…)

页面不刷新时,一切正常。例如,我可以通过以下方式从API获取当前用户:
gapi.client.oauth2.userinfo.get().execute(function(){…})
但是,当我刷新页面时,状态将不会保持


刷新页面后,为了保持“登录”状态,我需要做什么?谷歌api似乎“忘记”了状态

我对你的代码感到不熟悉。。。它真的是OAuth 2.0吗? 我想你说的是因为你提到了页面刷新

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

使用
执行以下操作,然后执行

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

我也有同样的问题你解决过这个问题吗?将令牌存储在localStorage中,然后与google分配的令牌进行匹配是一个好主意。如果所有匹配,请保持登录,否则刷新令牌。@DanWhiteside您不能通过存储或刷新令牌使其保持登录。也许你可以做些别的事情,用这个令牌重新登录。