Перейти к основному содержимому

TokenProvider

@mineflow/client-core


@mineflow/client-core / TokenProvider

Interface: TokenProvider

Defined in: packages/client-core/src/ports.ts:38

Поставщик access-token'а. web: keycloak-js; RN: react-native-app-auth.

Единственный обязательный контракт ядра к платформе: где взять Bearer-токен для исходящего запроса. makeAuthenticatedFetch зовёт TokenProvider.getToken перед каждой отправкой, поэтому адаптер вправе сам решать, кэшировать токен или рефрешить его упреждающе.

Methods

getRoles()?

optional getRoles():
| readonly SystemRole[]
| Promise<readonly SystemRole[]>;

Defined in: packages/client-core/src/ports.ts:52

Канонические роли пользователя (PascalCase), если адаптер их резолвит. Опционально — ядро роли через fetch не использует, это удобство для UI.

Returns

| readonly SystemRole[] | Promise<readonly SystemRole[]>


getToken()

getToken(opts?: GetTokenOptions): string | Promise<string | null> | null;

Defined in: packages/client-core/src/ports.ts:47

Возвращает текущий access-token (или null, если сессии нет — тогда запрос уйдёт без Authorization). Может быть синхронным или async.

Parameters

ParameterTypeDescription
opts?GetTokenOptionsуправляющие флаги; при forceRefresh: true адаптер должен попытаться обновить токен (выставляется ядром реактивно на 401).

Returns

string | Promise<string | null> | null

access-token либо null.