Я пытаюсь декодировать id_token, используя python / jwt
import urllib.request
from authlib.jose import jwt
import jwt
from jwt.algorithms import RSAAlgorithm
import json
r='eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWUsImp0aSI6ImFkOWYwNTBmLTY3NWMtNDM1Yi04Yjg4LTQ4YmU2ZTc2ZTM1OCIsImlhdCI6MTU3MjYxNzUzNiwiZXhwIjoxNTcyNjIxMTM2fQ.wCs-4FxR6FPLRpjvbL_zkv_88yvx4PJgRnOo9PVisXs'
url = 'https://dev-297076.oktapreview.com/oauth2/aush9prq3i2F4fAwq0h7/v1/keys'
r = urllib.request.urlopen(url)
str_response = r.read().decode('utf-8')
obj = json.loads(str_response)['keys']
obj2 = json.dumps(str_response)
public_key = RSAAlgorithm.from_jwk(obj)
decoded = jwt.decode(IDjwt, public_key, algorithms='RS256')
Ошибка:
Traceback (most recent call last):
File "C:/Programs/Python/Python37-32/jwt_test1.py", line 18, in <module>
public_key = RSAAlgorithm.from_jwk(obj)
File "C:\Programs\Python\Python37-32\lib\site-packages\jwt\algorithms.py", line 252, in from_jwk obj = json.loads(jwk)
File "C:\Programs\Python\Python37-32\lib\json\__init__.py", line 341, in loads raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not list
Любая помощь очень ценится