我正在开发一个angularjs web应用。
访问服务器端api,我需要添加一个id_token头和我收到一个id_token,通过使用https://accounts.google.com/o/oauth2/auth endpoint
。
我是否可以刷新id_token?
我知道我可以将access_type更改为offline,并接收refresh_token,但是请求离线访问似乎很奇怪,当基本上在我的情况下,用户仅在他实际在线使用web应用程序时与服务器交互。
忘掉刷新令牌和脱机访问吧。此方法仅适用于服务器和桌面应用程序。在浏览器中使用刷新令牌将是一个巨大的安全漏洞。
如果你阅读了Google JS OAuth库的文档,你会发现,一旦当前的访问令牌过期,很容易获得新的访问令牌。请参阅gapi.auth.authorize(),并注意immediate=true的注释。注意,尽管这种方法有效,但已弃用。你需要的一切都在https://developers.google.com/api-client-library/javascript/reference/referencedocs
当id_token过期时,客户端从服务器请求新的令牌服务器,这样用户就不需要再次授权。
从为OPENID连接隐式流在ANGULAR中实现静默令牌更新