slash-oauth-fix
All checks were successful
Deploy on push / deploy (push) Successful in 7m6s

This commit is contained in:
2025-09-23 22:07:06 +03:00
parent 9d4e24732e
commit 8104454d68
2 changed files with 7 additions and 4 deletions

View File

@@ -2,6 +2,9 @@
## [0.9.23] - 2025-09-23
### Fixed
- 🔧 **OAuth Callback URL**: Исправлено формирование callback URL - добавлен отсутствующий слеш между доменом и путем
### Changed
- 🔄 **OAuth Routes**: Возвращены к стандартному формату `/oauth/{provider}` - провайдеры не передают параметр provider в callback

View File

@@ -407,8 +407,8 @@ async def oauth_login(_: None, _info: GraphQLResolveInfo, provider: str, callbac
}
await store_oauth_state(state, oauth_data)
# Используем URL из фронтенда для callback - для фронтенда
oauth_callback_uri = f"{callback_data['base_url']}oauth/{provider}/callback"
# Используем URL из фронтенда для callback - для фронтенда (добавляем слеш если его нет)
oauth_callback_uri = f"{callback_data['base_url'].rstrip('/')}/oauth/{provider}/callback"
try:
return await client.authorize_redirect(
@@ -545,8 +545,8 @@ async def oauth_login_http(request: Request) -> JSONResponse | RedirectResponse:
}
await store_oauth_state(state, oauth_data)
# URL для callback - для фронтенда
callback_uri = f"{FRONTEND_URL}oauth/{provider}/callback"
# URL для callback - для фронтенда (добавляем слеш если его нет)
callback_uri = f"{FRONTEND_URL.rstrip('/')}/oauth/{provider}/callback"
# 🔍 Создаем redirect URL вручную (обходим использование request.session в authlib)
# VK не поддерживает PKCE, используем code_challenge только для поддерживающих провайдеров