2017-06-29 81 views
0

我在使用Phpunit和Symfony測試端點時遇到了一些麻煩。事情是我能夠使用nelmio api doc進行測試時,使用郵遞員,甚至從android的客戶端進行正確的身份驗證。無法在Symfony中使用JWT令牌測試API端點

但是,當我',試圖用phpunit測試端點,我得到401未經授權的消息。

這裏是我做從功能測試PHPUnit中的要求:

$this->client->request('POST', '/api/v1/recipes',$data,array(),array(),$header); 

這裏是頭的內容:

$header = array(
     'Authorization'=> 'Bearer '.$token, 
     'CONTENT_TYPE' => 'application/json', 
    ); 

我也試圖與HTTP_AUTHORIZATION關鍵,但不工作。

我使用內置的Symfony服務器,我不確定這是否重要,因爲我在使用頭文件並在Apache下工作時看到了一些其他問題。

順便說一句,令牌形成正確,因爲我用jwt.io在線解碼器進行了雙重檢查。

我有點絕望,任何幫助都會很棒。

回答

0

試圖改變這一點:

$header = array(
    'Authorization'=> 'Bearer '.$token, 
    'CONTENT_TYPE' => 'application/json', 
); 

這樣:

$header = array(
    'HTTP_Authorization' => sprintf('%s %s', 'Bearer', $token), 
    'HTTP_CONTENT_TYPE' => 'application/json', 
    'HTTP_ACCEPT'  => 'application/json', 
); 
+0

仍然沒有工作.. – Jotaeme

+0

哪些錯誤你找回? –

+0

當我從android客戶端,郵遞員等發出請求時,我沒有收到任何請求。但是當我試圖用phpunit進行功能測試時,我得到了401未授權的錯誤 – Jotaeme