Я новичок в KeyCloak, но я настроил сервер KeyCloak, установку, конфигурацию и доступ к моему веб-приложению. Только доступ к базе данных, управляемой нашим веб -приложением.
no Proxy, просто веб -приложение с использованием EXTJS и PHP на APACHE2 с MOD_AUTH_OPENID. < /p>
Проблема - то, что я не думал, было бы для меня сложной - это понимание того, что такое иди, и как это сделать с помощью KeyCloak. Уже прочитал некоторые документы и примеры по этому вопросу, многие из них для меня новички, я чувствую, что я все пробовал, и я до сих пор не понимаю ожидаемого поведения. < /p>
Я удалял/очищал куки, но это не кажется работать с куки -файлами keyCloak (как в JS, так и PHP). < /p>
document.cookie.split(";").forEach(cookie => {
document.cookie = cookie.replace(/^ +/, "")
.replace(/=.*/,
"=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/");
});
< /code>
foreach($_COOKIE as $name => $value) {
setcookie($name, '', time()-3600, '/');
}
header("Location: /");
< /code>
I'm looking forward to work with the logout URI :
"https://1.1.1.1/realms/dev/protocol/ope ... ect/logout"
I saw some example with what it seems to be a depreciated method to me, /auth/.
Whether I call it via POST or GET, manually through my browser or in my PHP, with or without parameters, it does not log the user out.
Here is the PHP code I am using to try the logout part:
$realm = "dev";
$keycloak_base_url = "https://1.1.1.1:8443";
$redirect_uri = "https://1.1.1.1/app/";
$client_id = "mySuperclient";
$client_secret = "mySuperSecret";
$refresh_token = $_SERVER['OIDC_refresh_token'];
$access_token = $_SERVER['OIDC_access_token'];
$logout_url = "$keycloak_base_url/realms/$realm/protocol/openid-connect/logout";
$data = [
'client_id' => $client_id,
'refresh_token' => $refresh_token,
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $logout_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curl_error = curl_error($ch);
curl_close($ch);
if ($http_code === 204) {
echo "Successful! Redirecting...";
header("Location: /app/");
exit();
} else {
echo "Failed! HTTP Code: $http_code
";
echo "
" . htmlspecialchars($response) . "
";
}
< /code>
OS : Debian 12.9
PHP version: 8.2.26
Keycloak : 26.1.0 (bare metal install)
mod-auth-openidc :2.4.12.3
I don't really know, but everything seems to be good, the client, scopes and redirect uris works, all that remains is the logout part...
EDIT1: The use of
header ("Location: $logout_url");
< /code>
redirects me to a Keycloak logout confirmation page. Even with a manual validation, I still can access my web app without login.
I think I have to add some data to that logout redirect, but can't figure out what is necessary.
Подробнее здесь: https://stackoverflow.com/questions/794 ... oak-logout
KeyCloak Tury ⇐ Php
Кемеровские программисты php общаются здесь
1740130911
Anonymous
Я новичок в KeyCloak, но я настроил сервер KeyCloak, установку, конфигурацию и доступ к моему веб-приложению. Только доступ к базе данных, управляемой нашим веб -приложением.
no Proxy, просто веб -приложение с использованием EXTJS и PHP на APACHE2 с MOD_AUTH_OPENID. < /p>
Проблема - то, что я не думал, было бы для меня сложной - это понимание того, что такое иди, и как это сделать с помощью KeyCloak. Уже прочитал некоторые документы и примеры по этому вопросу, многие из них для меня новички, я чувствую, что я все пробовал, и я до сих пор не понимаю ожидаемого поведения. < /p>
Я удалял/очищал куки, но это не кажется работать с куки -файлами keyCloak (как в JS, так и PHP). < /p>
document.cookie.split(";").forEach(cookie => {
document.cookie = cookie.replace(/^ +/, "")
.replace(/=.*/,
"=;expires=Thu, 01 Jan 1970 00:00:00 UTC;path=/");
});
< /code>
foreach($_COOKIE as $name => $value) {
setcookie($name, '', time()-3600, '/');
}
header("Location: /");
< /code>
I'm looking forward to work with the logout URI :
"https://1.1.1.1/realms/dev/protocol/openid-connect/logout"
I saw some example with what it seems to be a depreciated method to me, /auth/.
Whether I call it via POST or GET, manually through my browser or in my PHP, with or without parameters, it does not log the user out.
Here is the PHP code I am using to try the logout part:
$realm = "dev";
$keycloak_base_url = "https://1.1.1.1:8443";
$redirect_uri = "https://1.1.1.1/app/";
$client_id = "mySuperclient";
$client_secret = "mySuperSecret";
$refresh_token = $_SERVER['OIDC_refresh_token'];
$access_token = $_SERVER['OIDC_access_token'];
$logout_url = "$keycloak_base_url/realms/$realm/protocol/openid-connect/logout";
$data = [
'client_id' => $client_id,
'refresh_token' => $refresh_token,
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $logout_url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$curl_error = curl_error($ch);
curl_close($ch);
if ($http_code === 204) {
echo "Successful! Redirecting...";
header("Location: /app/");
exit();
} else {
echo "Failed! HTTP Code: $http_code
";
echo "
" . htmlspecialchars($response) . "
";
}
< /code>
OS : Debian 12.9
PHP version: 8.2.26
Keycloak : 26.1.0 (bare metal install)
mod-auth-openidc :2.4.12.3
I don't really know, but everything seems to be good, the client, scopes and redirect uris works, all that remains is the logout part...
EDIT1: The use of
header ("Location: $logout_url");
< /code>
redirects me to a Keycloak logout confirmation page. Even with a manual validation, I still can access my web app without login.
I think I have to add some data to that logout redirect, but can't figure out what is necessary.
Подробнее здесь: [url]https://stackoverflow.com/questions/79456804/keycloak-logout[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия