refactor: сертификат и ключ в каталоге secrets/, один параметр на каталог
Tests / frontend-test (pull_request) Successful in 3m14s
Tests / frontend-test (pull_request) Successful in 3m14s
Локально путь к сертификату вёл в ~/Downloads у каждого свой, а в контейнере задавался двумя отдельными переменными. Теперь каталог один и подменяется целиком через SECRETS_DIR: по умолчанию secrets/ в корне репозитория, в контейнере /certs (смонтированный каталог с хоста, GRAPH_CERT_DIR не меняется). Имена файлов внутри фиксированы, поэтому GRAPH_CERT_PATH и GRAPH_KEY_PATH больше не нужны. Содержимое secrets/ в .gitignore, кроме README. Отсутствие файлов теперь даёт понятную ошибку вместо ENOENT — на свежем клоне это основной сценарий отказа. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
+5
-3
@@ -13,8 +13,7 @@ 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` внутри контейнера |
|
||||
| `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`) |
|
||||
|
||||
@@ -23,10 +22,13 @@ assertion) и используется для авторизованных за
|
||||
Из корня репозитория `npm run dev` поднимает сервис вместе с фронтендом. Отдельно:
|
||||
|
||||
```bash
|
||||
cp .env.example .env # подставить свои пути к SPFxDeploy_cert.pem / _key.pem
|
||||
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 целиком.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user