我创建后端服务器,它从移动应用程序(iOS)获取ID令牌。如何验证此令牌是否正常并且可以安全地使用它?
Google官方有关验证令牌的文档:
https://developers.google.com/identity/protocols/OpenIDConnect#validatinganidtoken
它建议在本地验证ID令牌,而不向Google发送验证请求。是否可以像在文档中那样在本地检查ID Token中的某些字段,或者我是否应该向Google发送一些请求以验证令牌?
Google文档提到了有关调试和验证ID令牌的信息:
https://www.googleapis.com/oauth2/v3/tokeninfo?id_token=XYZ123
但它并不建议在生产中使用它。我还想到了使用Access Token和Id令牌,并首先验证访问令牌:
https://www.googleapis.com/oauth2/v3/tokeninfo?access_token=
但它是否会使验证客户端凭据(移动应用,网络应用)的整个过程更加安全?
答案 0 :(得分:2)
首先让我说我不适合谷歌工作。然而,自2012年以来,我一直在使用Google Oauth2进行开发。不久前,我向Googler询问了这个问题。
他的建议是,如果你有一个刷新令牌,只需要一个新的访问令牌。如果它坏了,服务器将返回错误。如果您有访问令牌发送请求,如果它是坏的,服务器将返回错误。
首先验证它是非常有意义的,只需要为服务器发出的每个请求向服务器发送两个请求。您将要做的就是防止您长期在一小部分请求中出现错误。
我从未打扰过id令牌。 Id令牌是一个jwt,所以你应该能够打开它。