前提・実現したいこと
Laravelでjwtを用いてログインやアカウント作成のAPIを作成してるのですが、
ログイン済みユーザーだけがアクセスできるページを作るところで躓いています。
環境は
・Windows10
・MAMP
・PHP 7.2.14
・MySQL 5.7.24
・Laravel 5.6.40
発生している問題・エラーメッセージ
curl -X GET http://127.0.0.1:8000/api/home -H "Authorization:Bearer ログインした際に取得したトークン"
としたときHTMLのコードが返されます。内容は
Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException thrown with message "Token not provided"
該当のソースコード
ログインされていると http://127.0.0.1:8000/api/home で'You are authorized user'というJsonを返します
ApiController.php
php
1<?php 2namespace App\Http\Controllers; 3use Illuminate\Http\JsonResponse; 4 5class ApiController extends Controller 6{ 7 public function index() 8 { 9 return new JsonResponse('You are authorized user'); 10 } 11} 12
api.php
php
1<?php 2 3use Illuminate\Http\Request; 4 5Route::group(["middleware" => "api"], function () { 6 // 認証が必要ないメソッド 7 Route::post('/register', 'Auth\RegisterController@register'); 8 Route::post('/login', 'Auth\LoginController@login'); 9 Route::group(['middleware' => ['jwt.auth']], function () { 10 // 認証が必要なメソッド 11 Route::get('/home', 'ApiController@index'); 12 }); 13}); 14
bash
1curl -X GET http://127.0.0.1:8000/api/home -H "Authorization:Bearer ログインシた際に取得したトークン"
試したこと
調べると"apacheはデフォルトで認証ヘッダーを削除している"とあったので書かれていたことを試しましたが解決しませんでした
試したリンク
あなたの回答
tips
プレビュー