服务端用code换token之后本地jwt验证invalid

问题描述

请求,登录,服务端获得code. 然后用python SDK从authing换取id_token和access_token这些步骤都成功。用sdk通过access_token从authing获取用户信息也可以成功。
但是尝试本地用pyjwt package验证token就是invalid,这个可能是什么原因?看官方文档不是鼓励本地验证access token么?

重现步骤

from authing import AuthenticationClient
# 初始化 AuthenticationClient
authentication_client = AuthenticationClient(
# Authing 应用 ID
app_id=os.getenv(“AUTHING_APP_ID”),
# Authing 应用密钥
app_secret=os.getenv(“AUTHING_APP_SECRET”),
# Authing 应用地址,如 https://example.authing.cn
app_host=os.getenv(“AUTHING_APP_HOST”),
# Authing 应用配置的登录回调地址
redirect_uri=os.getenv(“DEV_AUTHING_APP_REDIRECT_URI”),
timeout=30000, # 30 seconds, default is 10 seconds
)
if code:
front_logger.info(f"user code:{code}")
# 使用 code 换取 access_token
resp_token = authentication_client.get_access_token_by_code(code)
front_logger.info(f"response access token:{resp_token}")

附加信息

  • Version:

pyjwt 2.6.0 + authing官方python SDK. 5.0.2

  • Platform:
    MacOS 12.6.1, M2chip