gpt4 book ai didi

django - 为什么 Django Swagger 不显示具有 IsAuthenticated 权限的 url 的文档?

转载 作者:行者123 更新时间:2023-12-01 19:18:42 27 4
gpt4 key购买 nike

在我的 api 中,默认权限类是“rest_framework.permissions.IsAuthenticated”,并且 django swagger 不显示任何 url 的文档。

我的 REST_FRAMEWORK 设置是:

REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),

'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
)
}

我的 swagger_settings 是:

SWAGGER_SETTINGS = {
'USE_SESSION_AUTH': False,
'SECURITY_DEFINITIONS': {
'api_key': {
'type': 'apiKey',
'in': 'header',
'name': 'Authorization'
}
},

那么如何在 django swagger 中显示经过身份验证的端点。

最佳答案

这个话题实际上引起了很大的讨论in GitHub 。您似乎正在尝试访问将 IsAuthenticated 作为权限类的 View ,并且如果您尚未经过身份验证,它们可能会被禁止。

您只需在 DRF 设置中添加 rest_framework.authentication.SessionAuthentication 即可通过 Swagger 访问这些端点:

REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated',),

'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
'rest_framework.authentication.SessionAuthentication
)
}

关于django - 为什么 Django Swagger 不显示具有 IsAuthenticated 权限的 url 的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41462593/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com