首页 > 解决方案 > Authlib 烧瓶客户端:解析 id 令牌的问题

问题描述

我正在尝试使用 authlib 和 authlib 烧瓶客户端将 Flask 应用程序连接到第 3 方 OAuth2 服务。auth 服务返回带有以下标头的 JWT:

{
  "alg": "RS256",
  "typ": "JWT",
  "kid": "appId-1030324f-bb91-4b2a-b5fb-ae255b8142e0-2020-04-27T20:27:44.769",
  "ver": 4
}

如果我将令牌粘贴到jwt.io中,令牌可以正常工作,但是当我将它传递给parse_id_tokenauthlib 烧瓶客户端时,我得到以下异常:

authlib.jose.errors.InvalidHeaderParameterName: invalid_header_parameter_name: Invalid Header Parameter Names: ver

我查看了RFC 7515(第 4 节,JOSE 标头),虽然ver它不是规范中所说的注册参数标头之一:

Unless listed as a critical Header Parameter, per
   Section 4.1.11, all Header Parameters not defined by this
   specification MUST be ignored when not understood.

是否有一些配置参数可以传递给 authlib 以使其忽略此标头参数?我尝试查看代码,但还没有找到。

标签: pythonflaskoauth-2.0authlib

解决方案


推荐阅读