kopia lustrzana https://dev.funkwhale.audio/funkwhale/funkwhale
Fix swagger generation
rodzic
147c5dbdd8
commit
098fe7e119
|
@ -0,0 +1 @@
|
|||
import config.schema
|
|
@ -0,0 +1,26 @@
|
|||
from drf_spectacular.contrib.django_oauth_toolkit import OpenApiAuthenticationExtension
|
||||
|
||||
class CustomOAuthExt(OpenApiAuthenticationExtension):
|
||||
target_class = "funkwhale_api.common.authentication.OAuth2Authentication"
|
||||
name = "oauth2"
|
||||
|
||||
def get_security_definition(self, auto_schema):
|
||||
from oauth2_provider.scopes import get_scopes_backend
|
||||
|
||||
from drf_spectacular.settings import spectacular_settings
|
||||
|
||||
flows = {}
|
||||
for flow_type in spectacular_settings.OAUTH2_FLOWS:
|
||||
flows[flow_type] = {}
|
||||
if flow_type in ("implicit", "authorizationCode"):
|
||||
flows[flow_type][
|
||||
"authorizationUrl"
|
||||
] = spectacular_settings.OAUTH2_AUTHORIZATION_URL
|
||||
if flow_type in ("password", "clientCredentials", "authorizationCode"):
|
||||
flows[flow_type]["tokenUrl"] = spectacular_settings.OAUTH2_TOKEN_URL
|
||||
if spectacular_settings.OAUTH2_REFRESH_URL:
|
||||
flows[flow_type]["refreshUrl"] = spectacular_settings.OAUTH2_REFRESH_URL
|
||||
scope_backend = get_scopes_backend()
|
||||
flows[flow_type]["scopes"] = scope_backend.get_all_scopes()
|
||||
|
||||
return {"type": "oauth2", "flows": flows}
|
|
@ -10,7 +10,6 @@ Local settings
|
|||
|
||||
from .common import * # noqa
|
||||
from funkwhale_api import __version__ as funkwhale_version
|
||||
from drf_spectacular.contrib.django_oauth_toolkit import OpenApiAuthenticationExtension
|
||||
|
||||
|
||||
# DEBUG
|
||||
|
@ -143,29 +142,3 @@ MIDDLEWARE = (
|
|||
"funkwhale_api.common.middleware.ProfilerMiddleware",
|
||||
"funkwhale_api.common.middleware.PymallocMiddleware",
|
||||
) + MIDDLEWARE
|
||||
|
||||
|
||||
class CustomOAuthExt(OpenApiAuthenticationExtension):
|
||||
target_class = "funkwhale_api.common.authentication.OAuth2Authentication"
|
||||
name = "oauth2"
|
||||
|
||||
def get_security_definition(self, auto_schema):
|
||||
from oauth2_provider.scopes import get_scopes_backend
|
||||
|
||||
from drf_spectacular.settings import spectacular_settings
|
||||
|
||||
flows = {}
|
||||
for flow_type in spectacular_settings.OAUTH2_FLOWS:
|
||||
flows[flow_type] = {}
|
||||
if flow_type in ("implicit", "authorizationCode"):
|
||||
flows[flow_type][
|
||||
"authorizationUrl"
|
||||
] = spectacular_settings.OAUTH2_AUTHORIZATION_URL
|
||||
if flow_type in ("password", "clientCredentials", "authorizationCode"):
|
||||
flows[flow_type]["tokenUrl"] = spectacular_settings.OAUTH2_TOKEN_URL
|
||||
if spectacular_settings.OAUTH2_REFRESH_URL:
|
||||
flows[flow_type]["refreshUrl"] = spectacular_settings.OAUTH2_REFRESH_URL
|
||||
scope_backend = get_scopes_backend()
|
||||
flows[flow_type]["scopes"] = scope_backend.get_all_scopes()
|
||||
|
||||
return {"type": "oauth2", "flows": flows}
|
||||
|
|
Ładowanie…
Reference in New Issue