# NODE.DC Auth SDK

Будущий общий пакет для приложений, которые контролируются кодом NODE.DC.

## Target responsibilities

- загрузка JWKS;
- валидация JWT;
- проверка issuer/audience/exp;
- нормализация claims;
- helper `requireAppAccess(groupName)`;
- helper `getCurrentUser()`;
- typed `ndcauth.session` helpers для cross-app login/logout/change revalidation events;
- typed `AuthUser`.

## Type contract

```ts
export type AuthUser = {
  sub: string;
  email: string;
  name?: string;
  groups: string[];
  entitlements?: string[];
};
```

## Scope

Первый SDK рассчитан на Launcher backend и будущие Node.js/Next.js сервисы.

Для Plane fork на Python/Django нужна отдельная реализация middleware по тем же правилам, а этот пакет остается спецификацией для TypeScript приложений.

Session sync на 23.06.2026 не считается закрытым SDK-контрактом. Общий logout path уже существует в платформе, а BIM Viewer добавил BIM-first login-sync marker/revalidation slice. Перед подключением следующего сервиса нужно оформить общий `ndcauth.session` protocol здесь или в соседнем platform package, чтобы приложения не копировали BIM-specific логику.
