Symfony Basic API Http-аутентификация - PullRequest
0 голосов
/ 02 июня 2010

Может ли кто-нибудь указать мне правильное направление в том, чтобы заставить API использовать базовую HTTP-аутентификацию?

Я создаю успокоительный API с помощью Symfony, но хотел бы, чтобы пользователи входили в систему для получения определенных данных. Я также хотел бы, чтобы многие из этих методов зависели от имени пользователя в процессе аутентификации, чтобы получить некоторые данные (используя имя пользователя из учетных данных, чтобы получить всех друзей пользователей)

Спасибо!

1 Ответ

1 голос
/ 02 июня 2010

Примерно так:

function send401() {
    $realm = "Credentials for site xxx";
    header("HTTP/1.0 401 Authorization Required")
    header('WWW-Authenticate: Basic realm="'.$realm.'"');
    die();
}


if (!array_key_exists('PHP_AUTH_USER',$_SERVER) ||
        !array_key_exists('PHP_AUTH_PW',$_SERVER)) {
    send401();
}
else {
    $res = authenticate_user($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
    if (!$res)
        send401();
}

Имя пользователя хранится в $_SERVER['PHP_AUTH_USER'].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...