python google ouath身份验证解码并验证id_token

Jer*_*eng 1 django google-oauth

好吧,我正在尝试用我的django项目实现谷歌oauth身份验证.

我按照这里的指南:

https://developers.google.com/accounts/docs/OAuth2Login?hl=de-DE

我得到了交换代码的响应.我有一个字符串类型json,其中包含access_token,id_token等多个信息.

Id_token是以base 64编码的加密签名的JSON对象.我尝试使用python模块base64解码id_token,但失败了.

我也试过PyJWT,失败了.

有没有办法解码和验证它?

Kri*_*sbo 5

知道这是一个老帖子,但我通过谷歌发现它,所以我想其他人可能会介入...

我最终做了:

segments = response['id_token'].split('.')

if (len(segments) != 3): 
   raise Exception('Wrong number of segments in token: %s' % id_token) 

b64string = segments[1]
b64string = b64string.encode('ascii') 
padded = b64string + '=' * (4 - len(b64string) % 4) 
padded = base64.urlsafe_b64decode(padded)
Run Code Online (Sandbox Code Playgroud)