19 lines
579 B
TypeScript
19 lines
579 B
TypeScript
|
|
import { User, UserManager } from 'oidc-client-ts';
|
||
|
|
import { oidcConfig } from './config';
|
||
|
|
|
||
|
|
const userManager = new UserManager(oidcConfig);
|
||
|
|
|
||
|
|
export const login = () => userManager.signinRedirect();
|
||
|
|
export const logout = () => userManager.signoutRedirect();
|
||
|
|
export const handleCallback = () => userManager.signinRedirectCallback();
|
||
|
|
|
||
|
|
export const getUser = async (): Promise<User | null> => {
|
||
|
|
try {
|
||
|
|
const user = await userManager.getUser();
|
||
|
|
return user;
|
||
|
|
} catch (error) {
|
||
|
|
console.error('Error fetching user:', error);
|
||
|
|
return null;
|
||
|
|
}
|
||
|
|
};
|