У нас есть новый поставщик b2b, который хочет использовать базовый auth через URL.Основная обработка URL-адресов аутентификации
Они хотят, чтобы проверить подлинность, как это:
//URL coming into our server
http://usernametext:[email protected]/listener.php
Как я могу получить имя пользователя и пароль из URL с помощью моего listener.php сценария?
Я попытался установить основные AUTH заголовки на странице PHP человек, но он всплывает окно входа в систему, которая не то, что мне нужно, так как это веб-сервисы говорят друг с другом, а не люди:
if (!isset($_SERVER['PHP_AUTH_USER'])) {
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
echo '<response><error>No username and password found</error></response>';
exit;
} else {
//process request if username & password are legit
}
Основная HTTP-аутентификация основана на специальных записях в http-заголовке, поэтому она несовместима с вашим первым требованием передавать имя пользователя и пароль по URL-адресу. Просто не возвращайте ошибку 401, вместо этого перенаправляйте на выделенную страницу, если она не авторизована. – Stan
Хотя этот метод сильно небезопасен (передача имени пользователя/пароля в открытом виде), не могли бы вы использовать переменные get? http://url.com/listener.php?username=USERNAME&pass=PASSWORD –