Django Rest Swagger中的OAuth2身份验证

时间:2018-03-23 05:51:22

标签: django python-2.7 oauth-2.0 django-rest-framework django-rest-swagger

我正在使用Django Rest Swagger和Python 2.7以及Django 1.11。我正在尝试使用Swagger进行OAuth身份验证。我已将其包含在我的settings.py

SWAGGER_SETTINGS = {
"basePath": "/v2",
'SECURITY_DEFINITIONS': {
    'api_authorization': {
        "type": "oauth2",
        "in": "header",
        "tokenUrl": "http://localhost:8000/o/token/",
        "authorizationUrl": "http://localhost:8000/o/authorize/",
        "name": "Authorization",
        "state": "random_state_string",
        "flow": "accessCode",
        "scopes": {
            "read": "Reading scope",
            "write": "Writing scope"
        }

    }
}

}

当我单击Swagger中的“授权”按钮时,它不会询问客户端ID,而是显示以下屏幕。

enter image description here

如何使用OAuth身份验证制作Django Rest Swagger wotk?

1 个答案:

答案 0 :(得分:-1)

我认为一般的答案是,您必须从Django应用程序中提供宣誓服务。 Django Rest Swagger不提供OAUTH服务。您必须将其添加为单独的Django应用。

在网络上搜索“ django oauth2 PROVIDER”会弹出一些选项。

例如:

https://django-oauth-toolkit.readthedocs.io/en/latest/