Пробелы внутри созданных OAuth2 URL-адресов social-auth-app-django

У меня возникла проблема, когда мое Django-приложение (использующее social-auth-app-django 5.4.1) создает URL-адреса, которые дают ошибки при интеграции с Google sign in.

enter image description here

Развернутый текст этой ошибки таков: Детали запроса: redirect_uri=

http://127.0.0.1:8000/accounts/complete/google-oauth2/ flowName=GeneralOAuthFlow

Между google-oauth2/ и flowName стоит пробел. Google не допускает пробелов в именах URI перенаправления.

Насколько я знаю, я не контролирую, как строится этот раздел URL, поэтому я в некотором замешательстве, как мне решить эту проблему.

Для контекста, эта ошибка возникает после попытки нажать на следующую ссылку, обернутую в ссылку social:begin, предоставленную social-auth-app-django:

<a href="{% url 'social:begin' 'google-oauth2' %}" class="btn bsb-btn-xl btn-outline-primary btn-form-orange-inv">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-google" viewBox="0 0 16 16">
    <path d="M15.545 6.558a9.42 9.42 0 0 1 .139 1.626c0 2.434-.87 4.492-2.384 5.885h.002C11.978 15.292 10.158 16 8 16A8 8 0 1 1 8 0a7.689 7.689 0 0 1 5.352 2.082l-2.284 2.284A4.347 4.347 0 0 0 8 3.166c-2.087 0-3.86 1.408-4.492 3.304a4.792 4.792 0 0 0 0 3.063h.003c.635 1.893 2.405 3.301 4.492 3.301 1.078 0 2.004-.276 2.722-.764h-.003a3.702 3.702 0 0 0 1.599-2.431H8v-3.08h7.545z" />
</svg>
<span class="ms-2 fs-6">Google</span>

Соответствующие настройки следующие:

# Authentication Backends
AUTHENTICATION_BACKENDS = (
    'social_core.backends.google.GoogleOAuth2',
    'django.contrib.auth.backends.ModelBackend',
)

# Google OAuth2
SOCIAL_AUTH_GOOGLE_OAUTH2_KEY = config('GOOGLE_CLIENT_ID') + '.apps.googleusercontent.com'
SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET = config('GOOGLE_CLIENT_SECRET')

SOCIAL_AUTH_URL_NAMESPACE = 'social'

LOGIN_REDIRECT_URL = '/dashboard/'
LOGOUT_REDIRECT_URL = '/'

И главный urls.py:

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),

    path('', include('home.urls')),
    path('', include('users.urls')),
    path('dashboard/', include('dashboard.urls')),

    path('accounts/', include('social_django.urls', namespace='social')),

]

Вероятно ли, что пробельные символы - это ошибка в пакете или в моем коде? Если последнее, то как мне следует поступить, чтобы решить эту проблему?

Оказалось, что, несмотря на пробелы, это не имеет значения.

http://127.0.0.1:8000/accounts/complete/google-oauth2/

Это, очевидно, правильный URI для этой цели.

Вернуться на верх