-
Notifications
You must be signed in to change notification settings - Fork 24
Description
I am getting this error when I try to implement this example.
The error occurs in this line in utils.py:
self.signing_key = self.jwks_client.get_signing_key_from_jwt( self.token ).key
Response:
ERROR: Exception in ASGI application Traceback (most recent call last): File "C:\Anaconda\envs\salesx\lib\site-packages\uvicorn\protocols\http\h11_impl.py", line 373, in run_asgi result = await app(self.scope, self.receive, self.send) File "C:\Anaconda\envs\salesx\lib\site-packages\uvicorn\middleware\proxy_headers.py", line 75, in __call__ return await self.app(scope, receive, send) File "C:\Anaconda\envs\salesx\lib\site-packages\fastapi\applications.py", line 208, in __call__ await super().__call__(scope, receive, send) File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\applications.py", line 112, in __call__ await self.middleware_stack(scope, receive, send) File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\middleware\errors.py", line 181, in __call__ raise exc File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\middleware\errors.py", line 159, in __call__ await self.app(scope, receive, _send) File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\exceptions.py", line 82, in __call__ raise exc File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\exceptions.py", line 71, in __call__ await self.app(scope, receive, sender) File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\routing.py", line 656, in __call__ await route.handle(scope, receive, send) File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\routing.py", line 259, in handle await self.app(scope, receive, send) File "C:\Anaconda\envs\salesx\lib\site-packages\starlette\routing.py", line 61, in app response = await func(request) File "C:\Anaconda\envs\salesx\lib\site-packages\fastapi\routing.py", line 226, in app raw_response = await run_endpoint_function( File "C:\Anaconda\envs\salesx\lib\site-packages\fastapi\routing.py", line 159, in run_endpoint_function return await dependant.call(**values) File "main.py", line 19, in main_page result = VerifyToken(token.credentials).verify() File "C:\DEV\basf-calc-salesx\basf-calc-salesx\utils.py", line 42, in verify self.signing_key = self.jwks_client.get_signing_key_from_jwt( File "C:\Anaconda\envs\salesx\lib\site-packages\jwt\jwks_client.py", line 59, in get_signing_key_from_jwt return self.get_signing_key(header.get("kid")) File "C:\Anaconda\envs\salesx\lib\site-packages\jwt\jwks_client.py", line 41, in get_signing_key signing_keys = self.get_signing_keys() File "C:\Anaconda\envs\salesx\lib\site-packages\jwt\jwks_client.py", line 28, in get_signing_keys jwk_set = self.get_jwk_set() File "C:\Anaconda\envs\salesx\lib\site-packages\jwt\jwks_client.py", line 25, in get_jwk_set return PyJWKSet.from_dict(data) File "C:\Anaconda\envs\salesx\lib\site-packages\jwt\api_jwk.py", line 92, in from_dict return PyJWKSet(keys) File "C:\Anaconda\envs\salesx\lib\site-packages\jwt\api_jwk.py", line 87, in __init__ self.keys.append(PyJWK(key)) File "C:\Anaconda\envs\salesx\lib\site-packages\jwt\api_jwk.py", line 50, in __init__ raise PyJWKError("Unable to find a algorithm for key: %s" % self._jwk_data) jwt.exceptions.PyJWKError: Unable to find a algorithm for key: { 'alg': 'RS256', 'kty': 'RSA', 'use': 'sig', 'n': '6Kii4qoSGD9e<<shortened>>c11LpH3imSxhDvbh8pIs43wBpyfw', 'e': 'AQAB', 'kid': 'piKUV_SoUUczGrvSHUVzb', 'x5t': 'ACF5sviOP5RAIdM1vPec3C69VxY', 'x5c': ['MIIDDgI<<shortened>>0FFHrNNw='] }