2017-05-05 10 views
0

私はyii2 REST Api basicauthを使用してAPIを開発しています。私は正常に私のローカルxamppサーバーで開発しました。私はcentosを動かすvpsにコードを配備しました。しかし、私は以下の無条件応答を得ています:yii2残りのapi基本的な認証は401を無許可で投げます

{ 
"name": "Unauthorized", 
"message": "Your request was made with invalid credentials.", 
"code": 0, 
"status": 401, 
"type": "yii\\web\\UnauthorizedHttpException" 
} 

私はヘッダーを正しく設定しました。

レスポンスヘッダー:これは、リモートサーバーで起こっている理由

object(yii\web\HeaderCollection)#81 (1) { 
    ["_headers":"yii\web\HeaderCollection":private]=> 
    array(10) { 
    ["content-type"]=> 
    array(1) { 
     [0]=> 
     string(33) "application/x-www-form-urlencoded" 
    } 
    ["accept"]=> 
    array(1) { 
     [0]=> 
     string(3) "*/*" 
    } 
    ["accept-encoding"]=> 
    array(1) { 
     [0]=> 
     string(19) "gzip, deflate, sdch" 
    } 
    ["accept-language"]=> 
    array(1) { 
     [0]=> 
     string(14) "en-US,en;q=0.8" 
    } 
    ["cache-control"]=> 
    array(1) { 
     [0]=> 
     string(8) "no-cache" 
    } 
    ["connection"]=> 
    array(1) { 
     [0]=> 
     string(10) "keep-alive" 
    } 
    ["cookie"]=> 
    array(1) { 
     [0]=> 
     string(172) "_csrf=ed46321a4d6f68c815e71201a9d47fa4594bc7dc66346fe10111269e612fa24ea%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22afHivmMVT9TeQ24W-jwdIBu5sx4nA_hY%22%3B%7D" 
    } 
    ["host"]=> 
    array(1) { 
     [0]=> 
     string(14) "104.238.73.161" 
    } 
    ["postman-token"]=> 
    array(1) { 
     [0]=> 
     string(36) "b2123a9e-1585-5a44-4af1-dab9f12951c6" 
    } 
    ["user-agent"]=> 
    array(1) { 
     [0]=> 
     string(113) "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.96 Safari/537.36" 
    } 
    } 
} 

任意のアイデア:

Connection →Keep-Alive 
Content-Type →application/json; charset=UTF-8 
Date →Fri, 05 May 2017 08:40:49 GMT 
Keep-Alive →timeout=5, max=100 
Server →Apache 
Transfer-Encoding →chunked 
Www-Authenticate →Basic realm="api" 
X-Powered-By →PHP/5.6.30 


my headers: 
Authorization : Basic BVrVm3Ay0jg2XBr3TeITaClg 
Content-Type : application/x-www-form-urlencoded 

私は認証ヘッダーを参照してくださいいけないのヘッダーをダンプ

?助けてください。

答えて

1

こんにちは。

私の.htaccessファイルに次の行が追加され、問題が修正されました。

SetEnvIf Authorization .+ HTTP_AUTHORIZATION=$0 

私は以下のスレッドからの解決策が見つかりました: https://github.com/yiisoft/yii2/issues/6631

0

おそらくCRSFの検証です。あなたのコントローラーであなたはできます

Public $enableCsrfValidation = false; 

これは、そのコントローラーのすべてのアクションで妥当性検査を無効にします。ここで

あなたがさらに掘るしたい場合は、より多くの情報を持っている:私は解決策を発見したこの問題に出くわすいずれかのために https://yii2-cookbook.readthedocs.io/csrf/

+0

こんにちはChuxを、それがCRSFの問題であるならば、それは私の地元で働くべきではありませんか?私は正しいですか? – Chamindar2002

+0

はい、あなたは間違いありません。 app.logファイルをご覧になれますか? – Chux

+0

こんにちはchux私は私の質問を更新しました。 $ request-> getHeaders()をダンプすると、配列の 'authorization'要素が表示されません。 – Chamindar2002

関連する問題