@josempgon/vue-keycloak
Version:
Keycloak plugin for Vue 3 with Composition API
168 lines (167 loc) • 5.89 kB
TypeScript
import type { KeycloakTokenParsed } from 'keycloak-js';
import { KeycloakInstance } from './keycloak';
export interface KeycloakState {
keycloak: KeycloakInstance;
isAuthenticated: boolean;
hasFailed: boolean;
error: Error;
isPending: boolean;
token: string;
decodedToken: KeycloakTokenParsed;
username: string;
userId: string;
roles: string[];
resourceRoles: Record<string, string[]>;
}
export declare const state: {
keycloak: {
authenticated?: boolean;
subject?: string;
responseMode?: import("keycloak-js").KeycloakResponseMode;
responseType?: import("keycloak-js").KeycloakResponseType;
flow?: import("keycloak-js").KeycloakFlow;
realmAccess?: {
roles: string[];
};
resourceAccess?: import("keycloak-js").KeycloakResourceAccess;
token?: string;
tokenParsed?: {
[x: string]: any;
iss?: string;
sub?: string;
aud?: string;
exp?: number;
iat?: number;
auth_time?: number;
nonce?: string;
acr?: string;
amr?: string;
azp?: string;
session_state?: string;
realm_access?: {
roles: string[];
};
resource_access?: import("keycloak-js").KeycloakResourceAccess;
};
refreshToken?: string;
refreshTokenParsed?: {
[x: string]: any;
iss?: string;
sub?: string;
aud?: string;
exp?: number;
iat?: number;
auth_time?: number;
nonce?: string;
acr?: string;
amr?: string;
azp?: string;
session_state?: string;
realm_access?: {
roles: string[];
};
resource_access?: import("keycloak-js").KeycloakResourceAccess;
};
idToken?: string;
idTokenParsed?: {
[x: string]: any;
iss?: string;
sub?: string;
aud?: string;
exp?: number;
iat?: number;
auth_time?: number;
nonce?: string;
acr?: string;
amr?: string;
azp?: string;
session_state?: string;
realm_access?: {
roles: string[];
};
resource_access?: import("keycloak-js").KeycloakResourceAccess;
};
timeSkew?: number;
didInitialize: boolean;
loginRequired?: boolean;
authServerUrl?: string;
realm?: string;
clientId?: string;
redirectUri?: string;
sessionId?: string;
profile?: {
id?: string;
username?: string;
email?: string;
firstName?: string;
lastName?: string;
enabled?: boolean;
emailVerified?: boolean;
totp?: boolean;
createdTimestamp?: number;
attributes?: Record<string, unknown>;
};
userInfo?: {};
onReady?: (authenticated?: boolean) => void;
onAuthSuccess?: () => void;
onAuthError?: (errorData: import("keycloak-js").KeycloakError) => void;
onAuthRefreshSuccess?: () => void;
onAuthRefreshError?: () => void;
onAuthLogout?: () => void;
onTokenExpired?: () => void;
onActionUpdate?: (status: "success" | "cancelled" | "error", action?: string) => void;
init: (initOptions?: import("keycloak-js").KeycloakInitOptions) => Promise<boolean>;
login: (options?: import("keycloak-js").KeycloakLoginOptions) => Promise<void>;
logout: (options?: import("keycloak-js").KeycloakLogoutOptions) => Promise<void>;
register: (options?: import("keycloak-js").KeycloakRegisterOptions) => Promise<void>;
accountManagement: () => Promise<void>;
createLoginUrl: (options?: import("keycloak-js").KeycloakLoginOptions) => Promise<string>;
createLogoutUrl: (options?: import("keycloak-js").KeycloakLogoutOptions) => string;
createRegisterUrl: (options?: import("keycloak-js").KeycloakRegisterOptions) => Promise<string>;
createAccountUrl: (options?: import("keycloak-js").KeycloakAccountOptions) => string;
isTokenExpired: (minValidity?: number) => boolean;
updateToken: (minValidity?: number) => Promise<boolean>;
clearToken: () => void;
hasRealmRole: (role: string) => boolean;
hasResourceRole: (role: string, resource?: string) => boolean;
loadUserProfile: () => Promise<import("keycloak-js").KeycloakProfile>;
loadUserInfo: () => Promise<{}>;
};
isAuthenticated: boolean;
hasFailed: boolean;
error: Error;
isPending: boolean;
token: string;
decodedToken: {
[x: string]: any;
iss?: string;
sub?: string;
aud?: string;
exp?: number;
iat?: number;
auth_time?: number;
nonce?: string;
acr?: string;
amr?: string;
azp?: string;
session_state?: string;
realm_access?: {
roles: string[];
};
resource_access?: import("keycloak-js").KeycloakResourceAccess;
};
username: string;
userId: string;
roles: string[];
resourceRoles: Record<string, string[]>;
};
export declare const setKeycloak: (value: KeycloakInstance) => void;
export declare const setToken: (token: string, tokenParsed: KeycloakTokenParsed) => void;
interface ErrorString {
error: string;
}
type ErrorLike = Error | ErrorString | string;
export declare const hasFailed: (value: boolean, err: ErrorLike) => void;
export declare const isPending: (value: boolean) => void;
export declare const isAuthenticated: (value: boolean) => void;
export {};