@ssplib/react-components
Version:
SSP React Components
73 lines (72 loc) • 1.56 kB
TypeScript
import { KeycloakTokenParsed } from 'keycloak-js';
export interface User extends KeycloakTokenParsed {
token: string | undefined;
roles: any[];
image?: string;
}
export interface AuthData {
isAuth: boolean;
user: User | null | undefined;
userLoaded: boolean;
login: () => void;
logout: () => void;
}
export interface AuthClaims {
sub: string;
email_verified: string;
amr: string[];
profile: string;
kid: string;
iss: string;
phone_number_verified: string;
preferred_username: string;
picture: string;
aud: string;
auth_time: number;
scope: string[];
name: string;
given_name: string;
phone_number: string;
exp: number;
iat: number;
roles: {
code: number;
name: string;
}[];
jti: string;
email: string;
}
export interface AuthReturn {
access_token: string;
token_type: string;
expires_in: number;
scope: string;
id_token: string;
claims: AuthClaims;
ssp_token: string;
}
export interface AuthSspToken {
id: number;
name: string;
email: string;
phone_number: string;
preferred_username: string;
roles: {
code: number;
name: string;
}[];
iat: number;
exp: number;
aud: string;
iss: string;
sub: string;
}
export interface AuthReturnData {
isAuth: boolean;
type: 'govbr' | 'ad';
user: User | null | undefined;
userLoaded: boolean;
login: () => void;
saveUserData: (token: AuthReturn) => void;
logout: () => void;
}