/** * front connect to keycloak */ import Keycloak from "keycloak-js"; const initOptions = { realm: import.meta.env.VITE_REALM_KEYCLOAK, clientId: import.meta.env.VITE_CLIENTID_KEYCLOAK, url: import.meta.env.VITE_URL_KEYCLOAK, }; //option keycloak ที่จะ connect const keycloak = Keycloak(initOptions); keycloak.onAuthSuccess = () => { // check role user const hasCommonValues = (array1: string[], array2: string[]): boolean => { return array1.some((element) => array2.includes(element)); }; const role = keycloak.tokenParsed?.role; const roleSys = ["SUPER_ADMIN", "ADMIN"]; const checkPermission = hasCommonValues(role, roleSys); if (!checkPermission) { keycloak.logout({ redirectUri: `${window.location.protocol}//${window.location.host}/`, }); } }; //เพิ่มlogin สำเร็จจะมาทำฟังก์ชันนี้ await keycloak.init({ onLoad: "check-sso", checkLoginIframe: false }); //ทำการ connect keycloak export default keycloak;