feat: Добавил поддержку TOTP
All checks were successful
Create and publish a Docker image / Publish image (push) Successful in 6m31s

This commit is contained in:
2025-11-26 15:01:22 +03:00
parent a42cb4bfdd
commit 196b7d0ff4
5 changed files with 230 additions and 10 deletions

View File

@@ -34,16 +34,17 @@ Image efficiency score: 99 %
## Конфигурация
| Параметр | Где задается | Назначение |
| --- | --- | --- |
| `MODEUS_URL` | `appsettings.json` / переменные окружения | URL портала Modeus (например, `https://<название вуза>.modeus.org/`). |
| `MS_USERNAME` | `appsettings.json` / переменные окружения | Логин сервисной учетной записи Microsoft 365. |
| `MS_PASSWORD` | `appsettings.json` / переменные окружения | Пароль от этой учетной записи. |
| `API_KEY` *(опционально)* | `appsettings.json` / переменные окружения | Если задан, сервис будет требовать заголовок `X-API-Key`. |
| Параметр | Где задается | Назначение |
| ------------------------- | ----------------------------------------- | --------------------------------------------------------------------- |
| `MODEUS_URL` | `appsettings.json` / переменные окружения | URL портала Modeus (например, `https://<название вуза>.modeus.org/`). |
| `MS_USERNAME` | `appsettings.json` / переменные окружения | Логин сервисной учетной записи Microsoft 365. |
| `MS_PASSWORD` | `appsettings.json` / переменные окружения | Пароль от этой учетной записи. |
| `MS_TOTP_SECRET` *(опционально)* | `appsettings.json` / переменные окружения | Секрет для генерации TOTP-кодов. |
| `API_KEY` *(опционально)* | `appsettings.json` / переменные окружения | Если задан, сервис будет требовать заголовок `X-API-Key`. |
## Быстрый старт
1. Установите .NET 9 SDK и Playwright (будет поставлен автоматически при первом запуске).
1. Установите .NET 9 SDK и Playwright (будет установлен автоматически при первом запуске).
1. Создайте файл `appsettings.Development.json` или задайте переменные окружения с параметрами из таблицы выше.
1. Соберите и запустите сервис:
@@ -76,7 +77,6 @@ curl -H "X-API-Key: <ваш ключ>" http://localhost:5000/auth/ms
- Сброс кэша по запросу.
- Переписать на TypeScript с использованием Playwright напрямую.
- Добавить поддержку MFA (но как получать ключи?).
## Лицензия