所以,最後我回答了我自己的問題。希望這會幫助面臨類似問題的人。
JWT認證可以使用Laravel 5.3護照,只要按照下面的步驟來完成:
描述或請按照下列步驟操作:
- 作曲家需要laravel /護照
- add
Laravel\Passport\PassportServiceProvider::class,
給您的應用程序提供商
- PHP工匠遷移
- PHP工匠護照:安裝
- 添加
HasApiTokens
性狀您的用戶模型
- 護照::路線();在AppServiceProvider
- 配置API司機護照
完成後,創建一個UserController中,並添加了以下方法:
public function auth(Request $request)
{
$params = $request->only('email', 'password');
$username = $params['email'];
$password = $params['password'];
if(\Auth::attempt(['email' => $username, 'password' => $password])){
return \Auth::user()->createToken('my_user', []);
}
return response()->json(['error' => 'Invalid username or Password']);
}
public function index(Request $request)
{
return $request->user();
}
在路由/ api.php,添加以下路線:
Route::post('auth', '[email protected]');
Route::group(['middleware' => 'auth:api'], function(){
Route::resource('user', '[email protected]');
});
現在使用電子郵件地址和密碼發送POST請求到http://localhost:8000/auth
,如屏幕截圖所示(http://pix.toile-libre.org/upload/original/1483094937.png),這將讓你的的accessToken,您可以使用此標記,使您的應用程序與Authorization
頭和Bearer XXX
其中xxx爲的accessToken你/API/AUTH端點收到的其他請求。
現在,使用Authorization
標頭和令牌值向/api/user
發送GET請求,這將返回經過身份驗證的用戶的詳細信息。 (如:http://pix.toile-libre.org/upload/original/1483095018.png)
我也貼在我的博客這些步驟http://chatterjee.pw/larvel-passport-jwt-authentication/
我希望這有助於!
我們可以製作自定義標記嗎?不是來自用戶的對象 –
感謝您的分享,但: 1.沒有refresh_token 2.我沒有在這裏找到任何JWT相關人員,它只是access_token 3.我不明白爲什麼你花了這麼多在此,它是「HasApiTokens」特性的「Auth」和「createToken()」方法的「attempt()」方法 –
此令牌解決方案絕對不是JWT,因此不是您原始問題的答案,這個問題和答案誤導別人。由於此處的問答,浪費了大量時間,認爲這是JWT解決方案。 –