@ashahrour/universal-auth
Version:
1-click login SDK for modern web apps. No passwords. No config.
45 lines (37 loc) • 1.02 kB
text/typescript
import React, { ReactNode } from 'react';
interface User {
id: string;
token: string;
}
declare const UniversalAuthProvider: React.FC<{
children: React.ReactNode;
}>;
declare const useAuth: () => {
user: User | null;
loading: boolean;
login: (email: string) => Promise<void>;
logout: () => void;
};
interface LoginComponentProps {
logo?: ReactNode;
primaryColor?: string;
translations?: {
welcomeMessage?: string;
emailLabel?: string;
loginButton?: string;
loggingIn?: string;
emailOptionalHint?: string;
errorInvalidEmail?: string;
errorLoginFailed?: string;
};
}
declare const LoginPage: React.FC<{
onSubmit?: (email: string) => Promise<void>;
} & LoginComponentProps>;
interface AuthConfig {
apiUrl?: string;
tokenStorage?: Storage;
refreshTokenStorage?: Storage;
}
declare const configureAuth: (newConfig: AuthConfig) => void;
export { LoginPage, UniversalAuthProvider, configureAuth, useAuth };