1616"""
1717
1818import json
19+ import jwt
1920import random
2021import requests
2122import six
2223import string
2324from base64 import b64encode , b64decode , urlsafe_b64decode
2425from datetime import datetime
25- from jwt import PyJWKSet , PyJWTError
2626from requests .sessions import Session
2727
2828from intuitlib .config import DISCOVERY_URL , ACCEPT_HEADER
@@ -152,7 +152,6 @@ def validate_id_token(id_token, client_id, intuit_issuer, jwk_uri):
152152
153153 id_token_header = json .loads (b64decode (_correct_padding (id_token_parts [0 ])).decode ('ascii' ))
154154 id_token_payload = json .loads (b64decode (_correct_padding (id_token_parts [1 ])).decode ('ascii' ))
155- id_token_signature = urlsafe_b64decode (((_correct_padding (id_token_parts [2 ])).encode ('ascii' )))
156155
157156 if id_token_payload ['iss' ] != intuit_issuer :
158157 return False
@@ -163,12 +162,11 @@ def validate_id_token(id_token, client_id, intuit_issuer, jwk_uri):
163162 if id_token_payload ['exp' ] < current_time :
164163 return False
165164
166- message = id_token_parts [0 ] + '.' + id_token_parts [1 ]
167165 public_key = get_jwk (id_token_header ['kid' ], jwk_uri ).key
168166 try :
169167 jwt .decode (id_token , public_key , audience = client_id , algorithms = ['RS256' ])
170168 return True
171- except PyJWTError :
169+ except jwt . PyJWTError :
172170 return False
173171
174172def get_jwk (kid , jwk_uri ):
@@ -185,7 +183,7 @@ def get_jwk(kid, jwk_uri):
185183 if response .status_code != 200 :
186184 raise AuthClientError (response )
187185 data = response .json ()
188- return PyJWKSet .from_dict (data )[kid ]
186+ return jwt . PyJWKSet .from_dict (data )[kid ]
189187
190188def _correct_padding (val ):
191189 """Correct padding for JWT
0 commit comments