rest_framework_swagger安装后访问openapi接口遇HTTP 401未授权问题
问题原因分析
出现HTTP 401 Unauthorized错误,核心是你的swagger文档路由被强制要求认证,具体可能有以下几种情况:
全局REST框架认证配置生效:你在项目
settings.py的REST_FRAMEWORK配置中设置了DEFAULT_AUTHENTICATION_CLASSES,且没有为swagger的openapi/路由排除认证规则。全局认证会对所有API请求(包括swagger的schema生成请求)生效,导致未携带凭证时被拦截。Swagger视图被手动添加认证/权限限制:在配置
urls.py中的swagger路由时,给get_schema_view生成的视图类指定了authentication_classes或permission_classes,强制要求访问该视图必须通过认证。自定义中间件拦截未认证请求:项目中存在自定义的认证中间件,该中间件对所有请求路径(包括
openapi/)进行认证校验,没有将swagger的文档路径加入白名单。
内容的提问来源于stack exchange,提问作者zabitstack
相关产品推荐
相关产品推荐

