Принцип JWT состоит в том, чтобы избегать использования базовой аутентификации, которая совсем не похожа на аутентификацию (ваши учетные данные передаются в открытом виде с базовой аутентификацией).
Итак, я бы сказал, что JWT использует Authorization
это хорошая вещь, поскольку она предотвращает утечку ваших учетных данных в случае неправильной конфигурации.
Принцип JWT состоит в том, чтобы при действительных учетных данных генерировать токен, который хранится в вашем браузере (немного похоже на cookie-файл).).Затем с этим токеном нет необходимости представлять какую-либо аутентификацию (поэтому учетные данные присутствуют только один раз при аутентификации, а не во время полного сеанса, как при базовой или дайджест-аутентификации).
С Koel вы не можете сделать много, чтобы предотвратить это, поскольку нет способа изменить страницу входа в систему для использования базовой аутентификации.
С Kutr, однако, я сделалнекоторый механизм перехвата, чтобы вы могли подключить свою собственную страницу входа (которая может быть такой же простой, как проверка базовой аутентификации).
Она доступна здесь
В вашем случае заменитеначало файла от:
// Require your CMS bootstrap code here
require_once("yourCMSbootstrap.php");
// Bootstrap your CMS and check the session is valid (if not your CMS will fallback the login screen)
checkSession();
до
// Assert the user provided an basic or digest authentication
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo 'Text to send if user hits Cancel button';
exit();
} else {
$login = $_SERVER['PHP_AUTH_USER'];
$pw = $_SERVER['PHP_AUTH_PW'];
if (!checkValidLoginAndPW($login, $pw))
{
header('HTTP/1.0 401 Unauthorized');
echo 'Game over';
exit();
}
}
Убедитесь, что логин пользователя также существует в приложении Kutr