从okta_jwt_verifier导入JWTV erifier
def authenticate(self, request):
access_token = request.META.get('HTTP_AUTHORIZATION')
loop = asyncio.new_event_loop()
jwt_verifier = JWTVerifier(issuer='https://devtest.okta.com/oauth2/default',
client_id='12345', audience='api://default')
loop.run_until_complete(jwt_verifier.verify_access_token(access_token))
错误
JWT验证异常无效的标头字符串:"utf-8"编解码器无法解码位置1-2中的字节:无效的延续字节
请求方法:GET请求URL:http://127.0.0.1:8000/getdata/Django版本:2.2.10异常类型:JWTValidationException异常值:无效的头字符串:"utf-8"编解码器无法解码位置1-2中的字节:无效的延续字节异常位置:C:\WEB\project\pyenv\lib\site packages\okta_jwt_verifier\jwt_verifier.py in verify_access_token,第101行
我在与OKTA开发团队分享这个问题后发现了这个问题,如下所示:
如果access_token对象有"Bearer"这个词,就需要删除它。这可以通过下面的字符串替换来完成。
access_token=请求。META.get('HTTP_AUTHORIZATION',''(.replace('Bearer','''(.strip((