1 Commits

Author SHA1 Message Date
Aleksandr Meshchryakov
3d8efb69b6 style(auth): format SSO implementation
Some checks failed
State Corp Backend CI/CD / Quality gate (push) Successful in 5m25s
State Corp Backend CI/CD / Build linux/amd64 images once (push) Failing after 6m15s
State Corp Backend CI/CD / Release dev (push) Has been skipped
State Corp Backend CI/CD / Refresh and release internal main (push) Has been skipped
State Corp Backend CI/CD / Release customer main (push) Has been skipped
2026-09-21 16:44:34 +02:00
3 changed files with 12 additions and 6 deletions

View File

@@ -132,7 +132,9 @@ def verify_sso_token(encoded_token: str) -> SsoClaims:
validate_email(email)
User._meta.get_field("username").run_validators(username)
except DjangoValidationError as exc:
raise SsoAuthenticationError("Некорректные данные пользователя в SSO-токене.") from exc
raise SsoAuthenticationError(
"Некорректные данные пользователя в SSO-токене."
) from exc
return SsoClaims(
issuer=str(payload["iss"]),
@@ -191,7 +193,9 @@ def provision_sso_user(claims: SsoClaims):
or len(email_users) != 1
or email_users[0].id != username_user.id
):
raise SsoAuthenticationError("Неоднозначное совпадение локальной учётной записи.")
raise SsoAuthenticationError(
"Неоднозначное совпадение локальной учётной записи."
)
user = username_user
if not user.is_active:
raise SsoAuthenticationError("Локальная учётная запись отключена.")

View File

@@ -76,7 +76,11 @@ class SsoStartView(APIView):
required=False,
)
],
responses={307: "Переход к провайдеру SSO", 400: "Некорректный путь", 503: "SSO отключён"},
responses={
307: "Переход к провайдеру SSO",
400: "Некорректный путь",
503: "SSO отключён",
},
)
def get(self, request):
if not settings.SSO_ENABLED:

View File

@@ -177,9 +177,7 @@ class LogoutView(APIView):
@swagger_auto_schema(
tags=[AUTH_TAG],
operation_summary="Выход",
operation_description=(
"Завершение Django-сессии; JWT удаляются на клиенте."
),
operation_description=("Завершение Django-сессии; JWT удаляются на клиенте."),
responses={200: "Успешный выход"},
)
def post(self, request):