// src/script.ts import Keycloak from 'keycloak-js'; // 1. Конфигурация клиента Keycloak const keycloak = new Keycloak({ url: 'https://auth.vigdorov.ru', // URL вашего сервера Keycloak realm: 'dev-apps', // Имя вашего realm clientId: 'test-localapp', // Client ID вашего приложения }); // 2. Получаем доступ к элементам на странице const greetingElement = document.querySelector('h1')!; const actionButton = document.querySelector('button')!; // 3. Функция для обновления UI в зависимости от статуса авторизации const updateUI = () => { if (keycloak.authenticated) { // Если пользователь залогинен const userName = keycloak.tokenParsed?.given_name || keycloak.tokenParsed?.preferred_username; greetingElement.textContent = `Привет, ${userName}!`; actionButton.textContent = 'Выйти'; actionButton.onclick = () => keycloak.logout(); } else { // Если пользователь не залогинен greetingElement.textContent = 'Привет, гость!'; actionButton.textContent = 'Войти'; actionButton.onclick = () => keycloak.login(); } }; // 4. Инициализация Keycloak keycloak .init({onLoad: 'check-sso'}) .then(authenticated => { console.log(authenticated ? 'Пользователь аутентифицирован' : 'Пользователь не аутентифицирован'); updateUI(); // Обновляем UI после инициализации }) .catch(error => { console.error('Ошибка инициализации Keycloak', error); greetingElement.textContent = 'Не удалось подключиться к серверу авторизации.'; });