ReactNativeTokenProvider
@mineflow/auth-native / ReactNativeTokenProvider
Class: ReactNativeTokenProvider
Defined in: react-native-token-provider.ts:93
Реализация порта TokenProvider из client-core для React Native поверх
результата нативного OIDC-флоу. Даёт ядру SDK две вещи: актуальный access-token
(с упреждающим и реактивным refresh) и канонические роли пользователя.
Адаптер не хранит токены и не инициирует логин — состоянием владеет приложение
и прокидывает его через getState/refresh. За счёт этого провайдер тестируем,
бандл-безопасен и не привязан к конкретной OIDC-библиотеке RN.
Example
import { authorize, refresh } from 'react-native-app-auth';
import { ReactNativeTokenProvider } from '@mineflow/auth-native';
let authState = await authorize(config);
const tokenProvider = new ReactNativeTokenProvider({
getState: () => authState,
refresh: async () => {
authState = await refresh(config, { refreshToken: authState.refreshToken! });
return authState;
},
});
// далее передаётся в MineflowProvider:
// <MineflowProvider tokenProvider={tokenProvider} roles={tokenProvider.getRoles()} />
Implements
TokenProvider
Constructors
Constructor
new ReactNativeTokenProvider(opts: ReactNativeTokenProviderOptions): ReactNativeTokenProvider;
Defined in: react-native-token-provider.ts:97
Parameters
| Parameter | Type | Description |
|---|---|---|
opts | ReactNativeTokenProviderOptions | Опции с getState/refresh (и опционально minValiditySeconds/now). |
Returns
ReactNativeTokenProvider
Methods
getRoles()
getRoles(): readonly SystemRole[];
Defined in: react-native-token-provider.ts:140
Синхронно вернуть канонические роли пользователя. Декодирует realm-роли из
access-token (realmRolesFromToken) и маппит их в SystemRole через
mapKeycloakRoles (lowercase Keycloak-алиасы → 7 PascalCase системных ролей).
Сетевого вызова и валидации подписи JWT нет — только разбор payload'а.
Returns
readonly SystemRole[]
Роли пользователя; пустой массив, если состояния нет или в токене ролей нет.