У нас есть новый поставщик b2b, который хочет использовать базовую аутентификацию через URL.
Они хотят пройти аутентификацию так:
//URL coming into our server
http://usernametext:passwordtext@our.company.com/listener.php
Как я могу получить имя пользователя и пароль из URL-адреса с помощью моего скрипта listener.php?
Я попытался установить базовые заголовки auth на странице php man, но появляется окно входа в систему, что мне не нужно, поскольку это веб-службы, которые общаются друг с другом, а не с людьми:
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
}
Эти должен оказаться в переменных $_SERVER['PHP_AUTH_USER']
и $_SERVER['PHP_AUTH_PW']
. Вы не увидите их в $_SERVER['HTTP_HOST']
или что-нибудь.