2016-03-02 2 views
2

Я реализовал токены JWT в PHP/Phalcon, для которых вам нужно отправить токен JWT в заголовок авторизации. Я посылаю заголовок следующим образом:PHP-авторизация: заголовок несущей продолжает меняться имена

$.ajax({ 
     url: URL, 
     dataType: 'text', 
     method: 'post', 
     data: { "data": "values" }, 
     success: function(data) { 
     return console.log("Returned data: ", data); 
     }, 
     beforeSend: function(xhr, settings) { 
     xhr.setRequestHeader('Authorization', 'Bearer ' + token); 
}); 

Чтобы прочитать заголовок, я следующее:

$auth_header = $request->getHeader ('Authorization'); 

И это все. Я смог успешно прочитать заголовок, и жизнь продолжалась.

Через несколько дней мой код не смог прочитать заголовок. Значение $ auth_header было пустым. После того, как какой-то диагноз, я обнаружил, что заголовок должен был быть следующим:

$auth_header = $request->getHeader ('REDIRECT_HTTP_AUTHORIZATION'); 

Я добавил оба параметра в мой код так, что оба заголовки могут быть считаны, в зависимости от того, который на самом деле пришел. Через несколько дней я добавил третий:

$auth_header = $request->getHeader ('AUTHORIZATION'); 

На этот раз слово должно было быть весь капитал, или вообще ничего не будет читать.

Так что же теперь? Будет ли четвертое имя через несколько дней? Как мне продолжить? Я хотел бы указать, что ничего не происходит на PHP 5.6. Это происходит только на сервере dev, который является PHP 5.3. Это известная проблема? В чем причина?

Мой .htaccess файл:

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^((?s).*)$ index.php?_url=/$1 [QSA,L] 
    RewriteCond %{HTTP:Authorization} ^(.*) 
    RewriteRule .* - [e=HTTP_AUTHORIZATION:%1] 
</IfModule> 

ответ

0

Я проверяю, если заголовок установлен с hasServer функции Phalcon в

if($request->hasServer('HTTP_AUTHORIZATION')){ 
    $jwt = $request->getServer('HTTP_AUTHORIZATION') 
..... 
} 
+0

Это тоже работает, по крайней мере, на данный момент, но он по-прежнему не скажи мне, почему это происходит. –

+0

Я думаю, вы можете var_dump $ _SERVER и наблюдать индексы –

Смежные вопросы