使用auth0的python flask demo报错

问题描述

在authing的官方文档python调用方面只看到这篇文档: Authing - Python | Authing 文档。但是这些只是python代码,不是完整的程序,而auth0在github提供了这样一个[flask程序]( auth0-python-api-samples/00-Starter-Seed at master · auth0-samples/auth0-python-api-samples · GitHub),结构相当简单,在.env配置了AUTH0_CLIENT_ID, AUTH0_CLIENT_SECRET, AUTH0_DOMAIN后,运行,然后打开http://127.0.0.1:3000,只有一共登录按钮,点击登录,可以成功跳转authing,但登录后重定向到了如下页面,
callback?code=Vs4TsObQeMHjQmfCnyD0kJMatfci6XBlvi8I8BffACY&state=lmOjxQtIhjrHFOCrArGHcahENMnj4y

python后端报错如下

127.0.0.1 - - [25/Feb/2025 20:20:52] “GET / HTTP/1.1” 200 -
127.0.0.1 - - [25/Feb/2025 20:20:55] “GET /login HTTP/1.1” 302 -
[2025-02-25 20:20:55,625] ERROR in app: Exception on /callback [GET]
Traceback (most recent call last):
File “C:\a3\envs\fl\Lib\site-packages\flask\app.py”, line 1511, in wsgi_app
response = self.full_dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\flask\app.py”, line 919, in full_dispatch_request
rv = self.handle_user_exception(e)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\flask\app.py”, line 917, in full_dispatch_request
rv = self.dispatch_request()
^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\flask\app.py”, line 902, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “D:\0ly\auth-test\server.py”, line 46, in callback
token = oauth.auth0.authorize_access_token()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\integrations\flask_client\apps.py”, line 111, in authorize_access_token
userinfo = self.parse_id_token(
^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\integrations\base_client\sync_openid.py”, line 63, in parse_id_token
claims = _jwt.decode(
^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\jose\rfc7519\jwt.py”, line 104, in decode
data = self._jws.deserialize_compact(s, load_key, decode_payload)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\jose\rfc7515\jws.py”, line 106, in deserialize_compact
algorithm, key = self._prepare_algorithm_key(jws_header, payload, key)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\jose\rfc7515\jws.py”, line 261, in _prepare_algorithm_key
key = algorithm.prepare_key(key)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\jose\rfc7518\jws_algs.py”, line 59, in prepare_key
return OctKey.import_key(raw_data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\jose\rfc7518\oct_key.py”, line 77, in import_key
raw_key = to_bytes(raw)
^^^^^^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\common\encoding.py”, line 15, in to_bytes
return bytes(x)
^^^^^^^^
File “C:\a3\envs\fl\Lib\site-packages\authlib\jose\rfc7517\base_key.py”, line 56, in getitem
return self.tokens[item]
~~~~~~~~~~~^^^^^^
KeyError: 0
127.0.0.1 - - [25/Feb/2025 20:20:55] “GET /callback?code=Vs4TsObQeMHjQmfCnyD0kJMatfci6XBlvi8I8BffACY&state=lmOjxQtIhjrHFOCrArGHcahENMnj4y HTTP/1.1” 500 -

请教大神

  • authing是否有这样的python简单网页demo可以实现演示调用?链接?
  • auth0的示例代码一般来说是否与authing兼容?
  • 上述代码错误大概率是我在authing后台设置需要修改,还是调用的代码没对呢?