шлется на реальный сервер (#2)
build-and-deploy / prepare (push) Successful in 0s
build-and-deploy / build-and-push (., Dockerfile, hr-appeals-web) (push) Successful in 8s
Tests / frontend-test (push) Successful in 11s
build-and-deploy / build-and-push (server, server/Dockerfile, hr-appeals-auth) (push) Successful in 4s
build-and-deploy / deploy (push) Successful in 15s

Co-authored-by: Mariya Trishina <trishina.mariya@tnsu.kz>
Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/hr-appeals/pulls/2
This commit was merged in pull request #2.
This commit is contained in:
2026-08-24 08:54:41 +00:00
parent 7f6f42a96b
commit dea024f3a9
23 changed files with 660 additions and 73 deletions
+18 -4
View File
@@ -13,10 +13,24 @@ assertion) и используется для авторизованных за
|---|---|
| `GRAPH_TENANT_ID` | Tenant ID Azure AD |
| `GRAPH_CLIENT_ID` | Client ID App Registration, к которому привязан сертификат `SPFxDeploy` |
| `GRAPH_CERT_PATH` | Путь к `SPFxDeploy_cert.pem` внутри контейнера (см. `docker-compose.yml` в корне репозитория) |
| `GRAPH_KEY_PATH` | Путь к `SPFxDeploy_key.pem` внутри контейнера |
| `GRAPH_SCOPE` | OAuth-scope запрашиваемого токена. **По умолчанию `https://graph.microsoft.com/.default` — для api.tnsu.kz это неверное значение.** Нужно явно указать App ID URI, под которым `api.tnsu.kz` зарегистрирован в Azure AD, например `api://<app-id-uri-api.tnsu.kz>/.default`. Точное значение уточнить у того, кто регистрировал API в Azure AD |
| `PORT` | Порт HTTP-сервера сервиса, по умолчанию `3000` |
| `SECRETS_DIR` | Каталог с `SPFxDeploy_cert.pem` и `SPFxDeploy_key.pem` (имена файлов фиксированы). По умолчанию — [`secrets/`](../secrets/README.md) в корне репозитория; в контейнере `/certs`, куда смонтирован каталог с хоста. Задавать нужно только чтобы подменить каталог целиком |
| `GRAPH_SCOPE` | OAuth-scope запрашиваемого токена. По умолчанию — App ID URI самого `api.tnsu.kz` (`api://9232d9e2-.../.default`), задавать не нужно. Токен для `https://graph.microsoft.com/.default` тут не подойдёт: `api.tnsu.kz` проверяет `aud` входящего JWT и отвечает 401 |
| `PORT` | Порт HTTP-сервера сервиса, по умолчанию `3000` (локально — `3100`, см. `.env.example`) |
## Локальный запуск
Из корня репозитория `npm run dev` поднимает сервис вместе с фронтендом. Отдельно:
```bash
cp .env.example .env # tenant/client id и порт
npm run dev # tsc + запуск с чтением .env (--env-file, Node 20+)
```
Сертификат и ключ при этом должны лежать в [`secrets/`](../secrets/README.md) —
в git они не хранятся.
Проверить, что авторизация работает: `curl http://localhost:3100/diag/token` →
`{"ok":true}`. Если вернулась ошибка — в ней будет ответ Azure AD целиком.
## Как обратиться к api.tnsu.kz с авторизацией