Files
hr-appeals/server/src/config.ts
T
gorbenko.pavel 091e4e41b9 fix: запрашивать токен для api.tnsu.kz, а не для Graph
Токен с aud=graph.microsoft.com api.tnsu.kz отклонял с 401 — он проверяет
аудиторию входящего JWT. Меняем scope по умолчанию на App ID URI самого
api-tnsu-portal; наш сертификат для него уже авторизован, отдельный
client secret не нужен.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-24 12:43:38 +05:00

22 lines
932 B
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
function requireEnv(name: string): string {
const value = process.env[name];
if (!value) {
throw new Error(`Не задана переменная окружения ${name}`);
}
return value;
}
export const config = {
tenantId: requireEnv('GRAPH_TENANT_ID'),
clientId: requireEnv('GRAPH_CLIENT_ID'),
certPath: requireEnv('GRAPH_CERT_PATH'),
keyPath: requireEnv('GRAPH_KEY_PATH'),
// Токен нужен не для Graph напрямую, а для api.tnsu.kz — он сам ходит в
// SharePoint. Это его App ID URI: с graph.microsoft.com/.default api вернёт
// 401, потому что проверяет aud во входящем JWT.
scope: process.env.GRAPH_SCOPE ?? 'api://9232d9e2-9807-4753-808f-07250e5474b0/.default',
port: Number(process.env.PORT ?? 3000),
sharepointSiteUrl: 'https://tnsukz.sharepoint.com/sites/hrm',
sharepointListName: 'Обращения'
};