This commit is contained in:
DESKTOP-1R2VSQH\Lenovo ThinkPad E490 2024-07-24 17:57:06 +07:00
parent c97bbc7a78
commit 7b3a4c18ba
9 changed files with 406 additions and 47 deletions

View file

@ -3,6 +3,7 @@ import keycloak from "@/plugins/keycloak";
const checkPermission = (array2: string[]): boolean => {
if (keycloak.tokenParsed) {
const array1: string[] = keycloak.tokenParsed?.role;
return array1.some((element) => array2.includes(element));
} else return false;
};

View file

@ -10,7 +10,7 @@ const http = Axios.create({
http.interceptors.request.use(
async function (config: AxiosRequestConfig<any>) {
await keycloak.updateToken(1);
// await keycloak.updateToken(1);
config.headers = config.headers ?? {};
const token = keycloak.token;
// const token = localStorage.getItem("access_token")

View file

@ -1,30 +1,13 @@
/**
* front connect to keycloak
*/
// authen with keycloak client
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 keycloakConfig = {
url: "https://id.frappet.synology.me",
realm: "bma-ehr",
clientId: "gettoken",
clientSecret: "qsFwDb5anVoXKKwoeivrByIn9VYWQNRn",
};
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
const keycloak = new Keycloak(keycloakConfig);
export default keycloak;
export { keycloakConfig };