当前位置: 首页 > 知识库问答 >
问题:

如何将令牌auth添加到swagger django rest框架?

茹正初
2023-03-14

因此,现在我想在我的API的swagger文档页面中添加测试这些令牌身份验证API URL的可能性,包括令牌头。我怎么能这么做?。

我的类API视图的快照如下所示:

class BookList(APIView):
    """
    List all books, or create a new book.
    """
    authentication_classes = (TokenAuthentication, )
    permission_classes = (IsAuthenticated,)
    ...

共有3个答案

穆鸿波
2023-03-14
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAdminUser',),
'DEFAULT_AUTHENTICATION_CLASSES': (
    'rest_framework.authentication.TokenAuthentication',
    'rest_framework.authentication.SessionAuthentication'
)

}

欧阳俊逸
2023-03-14

我回答自己,因为我使它工作。

实际上Swagger设置有一个选项,api_key -

SWAGGER_SETTINGS = {
    "exclude_namespaces": [], # List URL namespaces to ignore
    "api_version": '0.1',  # Specify your API's version
    "api_path": "/",  # Specify the path to your API not a root level
    "enabled_methods": [  # Specify which methods to enable in Swagger UI
        'get',
        'post',
        'put',
        'patch',
        'delete'
    ],
    "api_key": '', # An API key
    "is_authenticated": False,  # Set to True to enforce user authentication,
    "is_superuser": False,  # Set to True to enforce admin only access
}
微生高谊
2023-03-14

如果您使用的是令牌身份验证,则可能需要查看此问题

基本上,您只需要将其添加到 settings.py

SWAGGER_SETTINGS = {
    'SECURITY_DEFINITIONS': {
        'api_key': {
            'type': 'apiKey',
            'in': 'header',
            'name': 'Authorization'
        }
    },
}
 类似资料:
  • 我想允许用户重置他们的密码。为了做到这一点,我首先检查他们的电子邮件是否存在于数据库中,如果存在,我向他们发送一封电子邮件,其中包含指向重置密码页面的链接。为了确保链接是安全的,后者是用jwt令牌制作的,该令牌仅对15mn有效。 但是,无法访问该url,因为有“.”在jwt中: < code > http://www . myapp . com/reset-password/eyjhbgcioin

  • 我通过使用承载令牌实现了对SpringBoot API的授权,当登录成功时,该令牌被添加到响应的“授权”头中,然后需要通过React项目的登录获取方法读取该令牌,并添加到后续请求的“授权”头中。 不幸的是,虽然我被告知这是不可能使用Fetch,所以我现在试图重构我的登录功能,以便它返回响应正文中的令牌,而不是标题。 我不知道如何做到这一点,目前没有返回JSON正文对象,只有标头,我将不得不更改我的

  • 我正在尝试使用spotipy python库构建一个应用程序来访问spotify api。 我的oauth代码看起来是这样的,除了用正确的auth参数初始化客户端之外,它似乎是有效的。 ... 向用户发送网址。在用户说她/他已经授予权限后:从Web服务器获取身份验证代码并用于生成令牌。 self.auth_token如下所示: 然后我像这样初始化 spotipy 客户端模块: 然后我尝试以下方法:

  • 问题内容: 将空列添加到pandas对象的最简单方法是什么?我偶然发现的最好的东西是 有没有那么不合常理的方法? 问题答案: 如果我理解正确,则应填写作业:

  • 现在,我想在Visual Studio代码中使用令牌从Github中推/拉我的repo,该代码使用git和我已经安装在Mac上的命令行。 问题-我该如何添加/替换来自Github的密码,用我刚刚创建的用于从我的回购中推/拉的生成令牌?我可以从Visual Studio代码执行,还是从终端命令行添加?

  • 我是RxJava新手,但我喜欢它。而现在我有小问题了。我使用的是+。 如果我有有效的用户令牌,我会得到API的响应,但如果令牌无效,我必须刷新令牌并尝试再次发出请求。 null null 如何使用RXJava实现它?