This package provides a simple web browser client for OIDC authentication.
It is implemented as a state machine emitting state updates as events. An example React/Next.js usage implementation can be found under examples/next.js/AuthProvider.tsx.
const authClient = new AuthClient(
{
clientId: 'fooBar',
//redirectUrl: `${window.location.origin}/oauth-redirect` // default
scopes: 'openid profile offline_access',
authority: 'https://boop.fynn.ai/oidc', // using .well-known/openid-configuration
// -- OR --
endpoints: {
authorization: 'https://boop.fynn.ai/oidc/auth',
token: 'https://boop.fynn.ai/oidc/token',
revocation: 'https://boop.fynn.ai/oidc/token/revocation',
userinfo: 'https://boop.fynn.ai/oidc/me',
},
// not functional at the moment
//autoLogin: true, // default
},
(newStatus: Status) => console.log(status),
);Once you are in the browser, call authClient.browserInit() for it to start its flow.
To log in, call authClient.login(), to logout, call authClient.logout().
Changes in status will be communicated to the outside world through the event handler passed as second argument.
