drf-yasg icon indicating copy to clipboard operation
drf-yasg copied to clipboard

Redirect URL is not being processed in Django 4.2 when using oauth2 implicit flow

Open den4uk opened this issue 1 year ago • 1 comments

Bug Report

Description

drf-yasg does not work with Django 4.2 when redirect url is called during authorization.

Reproduction steps:

  • Using oauth2 implicit flow
  • Click Authorize
  • Authorization happens

Side effects:

  • A redirect url is fired in a new tab (that is expected to auto-close)
  • The tab remains open
  • No traceback, no errors
  • Swagger fails to authenticate

Is this a regression?

No

Minimal Reproduction

# requirements.txt
Django==4.2.2
djangorestframework==3.14.0
drf-yasg==1.21.6
# settings.py
SWAGGER_SETTINGS = {
    "USE_SESSION_AUTH": False,
    "OAUTH2_REDIRECT_URL": "/static/drf-yasg/swagger-ui-dist/oauth2-redirect.html",
    "SECURITY_DEFINITIONS": {
        "oauth2": {
            "type": "oauth2",
            "flow": "implicit",
            "authorizationUrl": "https://some-url/auth"),
            "scopes": {"some-scope": "", },
        },
    },
}

However, this same setup works fine with the following requirements:

Django==3.2.19
djangorestframework==3.14.0
drf-yasg==1.21.6

Note: the behaviour is only affecting when using Django 4.2, but not Django 3.x.

Stack trace / Error message

no stack trace or an error message is raised

den4uk avatar Jun 28 '23 10:06 den4uk

Has this issue been resolved? Experiencing same issue

scaplandeloitte avatar May 03 '24 14:05 scaplandeloitte