Python 用Auth0在django rest框架上实现JWT

Python 用Auth0在django rest框架上实现JWT,python,django,django-rest-framework,jwt,auth0,Python,Django,Django Rest Framework,Jwt,Auth0,我试图在Django REST framework api上实现JWT身份验证,但在解码来自Auth0的令牌签名时遇到问题。我使用的是djangorestframeworkjwt包。在django设置中,我已将JWT_SECRET_密钥和JWT_访问者设置为我的Auth0凭据,并尝试使用密钥的base64解码版本(Auth0声称默认情况下对密钥进行编码)。我可以使用jwt.io这样的在线工具成功解码一个传入令牌,甚至可以使用 jwt.decode( token, base64.b64decode

我试图在Django REST framework api上实现JWT身份验证,但在解码来自
Auth0
的令牌签名时遇到问题。我使用的是
djangorestframeworkjwt
包。在django设置中,我已将
JWT_SECRET_密钥
JWT_访问者
设置为我的
Auth0
凭据,并尝试使用密钥的base64解码版本(
Auth0
声称默认情况下对密钥进行编码)。我可以使用jwt.io这样的在线工具成功解码一个传入令牌,甚至可以使用

jwt.decode( token, base64.b64decode(JWT_SECRET_KEY.replace("_","/").replace("-","+")), JWT_AUDIENCE) 

但出于某种原因,当我尝试允许
djangorestframeworkjwt
解码令牌时,每次解码签名都会出错。我知道这可能是一个有点过于具体的问题,但希望以前处理过这个堆栈的人能帮我一把。

尝试将JWT_SECRET_密钥设置为
base64.b64解码的结果(client_SECRET.replace(““,“/”)。replace(“-”,“+”)
?FWIW,base64.B64解码使用'altchars'kwarg:
base64.B64解码(secret,altchars='-'.')
请注意,2016年12月后生成的Auth0客户端密钥不再需要base64URL解码。在仪表板中,每个客户机密钥旁边都有一小行文本,告诉您它是哪种类型的密钥(已编码或未编码)