我希望在我的网站上实施“使用谷歌登录” . OpenId connect建议使用其登录客户端库的Google登录 . 但是在Google登录页面上
https://developers.google.com/identity/sign-in/web/backend-auth
在该部分
“调用tokeninfo endpoints ”
它被提到了
“验证ID令牌的最简单方法是使用tokeninfo endpoints . 调用此 endpoints 涉及额外的网络请求,为您执行大部分验证,但会引入一些延迟和网络错误的可能性 . For these reasons, it is suitable only for deployments with fewer than 100 monthly active users, as well as for debugging and informational purposes. ”
我正在处理的网站预计每月有10,000名活跃用户 . 那么我如何实现一个协议来识别来自Google的令牌为我的网站登录 .
1 回答
如您所知,可以使用OAuth v2的客户端库或使用对Google服务器的单个API调用来离线执行令牌验证 . 由于脱机客户端是特定于编程语言的,因此您需要找到您正在使用的特定语言的客户端/示例 . Google GitHub页面中的一些令牌验证示例:
Token Verification in Python
Token Verification in PHP
Token Verification in Ruby
Token Verification in Java
或者,您可以通过客户端库使用tokeninfo endpoints ,也可以直接使用Google API endpoints ,如Google API Explorer here所示 . 使用ID令牌的curl示例:
如文档中所述,网络调用确实会引入一些延迟,如果您在每个请求上验证令牌(例如,使用ID令牌作为承载令牌),则最好使用库为您的首选语言验证令牌脱机 .