parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Все же давайте теперь разберемся, интересно стало...

dmx102 19.11.2013 19:13

Если вы говорите, что
авторизация работает (т.е. auth_request /auth; - обрабатывается)
Давайте разбираться!

Благодаря модулю auth мы можем, основываясь на результате подзапроса, используя только статус ответа (200, 401, 403), проводить авторизацию клиента.

Значит наш авторизационный скрипт должен принимать что-то на входе и на выходе давать соответствующий статус. Делается это следующим образом:
# В случае успешной авторизации
$response:status[200 Ok]

# Требуется авторизация или неправильный пароль
$response:status[401 Unauthorized]

# Доступ запрещен или превышено число попыток
$response:status[403 Forbidden]
Далее, нам нужно получить авторизационные данные. Но сами они в парсер не попадут, и в добавок парсер нам не дает доступа (или я чего-то не знаю :) к HTTP-заголовкам запроса.

Пишем в конфиге nginx в локейшине скрипта авторизации:

fastcgi_param HTTP_AUTHORIZATION $http_authorization;

Незабываем перезагрузить nginx :)

Надеюсь теперь вам все понятно.


И на последок, вы устанавливаете заголовки
add_header Test-Uin $test_uin;

которые из парсера не видны, либо вам надо делать преедачу параметра окружения.

Так же рекомендую сделать переменную что-то типа:
auth_request_set $test_is_auth $upstream_http_x_auth_test;

и передавать ее в обратных заголовках в виде 0 или 1, чтобы можно было сразу знать, пользователь авторизован или нет