scrivito
Version:
Scrivito is a professional, yet easy to use SaaS Enterprise Content Management Service, built for digital agencies and medium to large businesses. It is completely maintenance-free, cost-effective, and has unprecedented performance and security.
35 lines (28 loc) • 833 B
text/typescript
import {
AuthHandler,
EnsureUserIsLoggedInParams,
} from 'scrivito_sdk/app_support/auth_handler';
import { changeLoggedInState } from 'scrivito_sdk/app_support/logged_in_state';
import { fetchLoggedInUser } from 'scrivito_sdk/app_support/user_logged_in_status';
export const anonymousVisitorAuthHandler: AuthHandler = {
getUserData() {
return undefined;
},
isUserLoggedIn() {
return false;
},
ensureUserIsLoggedIn(params: EnsureUserIsLoggedInParams) {
ensureUserIsLoggedInAsync(params);
},
iamTokenFetcher() {
return undefined;
},
loginHandler() {
return 'redirect';
},
};
async function ensureUserIsLoggedInAsync(params: EnsureUserIsLoggedInParams) {
// If the user isn't logged-in, this triggers a login redirect
await fetchLoggedInUser(params);
changeLoggedInState(true);
}