@criipto/verify-react
Version:
Verify SDK for React Single Page Applications
62 lines (61 loc) • 2.32 kB
TypeScript
/// <reference types="react" />
import CriiptoAuth, { OpenIDConfiguration, AuthorizeUrlParamsOptional, PKCE, AuthorizeResponse, OAuth2Error, PKCEPublicPart } from '@criipto/auth-js';
import { PopupAuthorizeParams, RedirectAuthorizeParams } from '@criipto/auth-js/dist/types';
export declare type ResultSource = 'QRCode' | 'SEBankIDQrCode' | 'SEBankIDSameDeviceButton' | 'redirect';
export declare type Result = {
id_token: string;
state?: string;
source?: ResultSource;
} | {
code: string;
state?: string;
source?: ResultSource;
} | OAuth2Error | Error;
export declare const actions: readonly ["confirm", "accept", "approve", "sign", "login"];
export declare type Action = typeof actions[number];
export declare type Claims = {
iss: string;
aud: string;
identityscheme: string;
authenticationtype: string;
sub: string;
iat: number;
exp: number;
[key: string]: string | number;
};
export interface CriiptoVerifyContextInterface {
loginWithRedirect: (params?: RedirectAuthorizeParams) => Promise<void>;
loginWithPopup: (params?: PopupAuthorizeParams) => Promise<void>;
checkSession: () => Promise<void>;
logout: (params?: {
redirectUri?: string;
state?: string;
}) => Promise<void>;
fetchOpenIDConfiguration: () => Promise<OpenIDConfiguration>;
buildAuthorizeUrl: (options?: AuthorizeUrlParamsOptional) => Promise<string>;
generatePKCE: () => Promise<PKCE | undefined>;
buildOptions: (options?: AuthorizeUrlParamsOptional | RedirectAuthorizeParams) => AuthorizeUrlParamsOptional;
handleResponse: (response: AuthorizeResponse, params: {
pkce?: PKCE;
redirectUri?: string;
source?: ResultSource;
}) => Promise<void>;
responseType: 'token' | 'code';
completionStrategy: 'client' | 'openidprovider';
result: Result | null;
claims: Claims | null;
domain: string;
redirectUri?: string;
action: Action;
message?: string;
pkce?: PKCE | PKCEPublicPart;
store: Storage;
isLoading: boolean;
isInitializing: boolean;
acrValues?: string[];
uiLocales?: string;
client: CriiptoAuth;
loginHint?: string;
}
declare const CriiptoVerifyContext: import("react").Context<CriiptoVerifyContextInterface>;
export default CriiptoVerifyContext;