SSO через gnexus-auth-client-py: OAuth-поток на сервере, без ввода токенов в UI
- /auth/login: state+PKCE в Redis (переживает рестарты), redirect на authorize
- /auth/callback: обмен кода, проверка system_role до выдачи токена,
  не-админу access-токен сразу revoke; токены в URL-фрагменте
- /auth/refresh и /auth/revoke; SPA: кнопка входа, /oauth/callback,
  тихий refresh по 401, логаут
- креды только из env (GAUTH_*), GAUTH_VERIFY_TLS для self-signed в LAN

Co-Authored-By: Claude Code <noreply@anthropic.com>
1 parent 19c0b8c commit 44310714a795134c6fc148b428c503a93d2e0c2f
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 1 hour ago
Showing 15 changed files
View
.env.example
View
CLAUDE.md
View
README.md
View
app/api/auth_routes.py 0 → 100644
View
app/auth/client.py 0 → 100644
View
app/auth/deps.py
View
app/auth/stores.py 0 → 100644
View
app/config.py
View
app/main.py
View
frontend/src/api.js
View
frontend/src/router.js
View
frontend/src/views/DashboardView.vue
View
frontend/src/views/LoginView.vue
View
frontend/src/views/OauthCallbackView.vue 0 → 100644
View
frontend/vite.config.js