You can see a theme here. Lot’s of action on the Laravel and Vue.js front as I’m focusing on migrating our blades over to vue’s
The process ran into a problem when I wanted to be authenticated from the vue’s.
I was able to move this on thanks to the very, very, excellent article: https://codeburst.io/api-authentication-in-laravel-vue-spa-using-jwt-auth-d8251b3632e0
I used the basis of the article to create a controller as VueAuth\AuthController.php
and and made some changes so that instead of using the Laravel default field of user
to username
instead.
public function login(Request $request) { $credentials = $request->only('username', 'password'); if ( ! $token = \JWTAuth::attempt($credentials)) { return response([ 'status' => 'error', 'error' => 'invalid.credentials', 'msg' => 'Invalid Credentials.' ], 400); } return response([ 'status' => 'success' ]) ->header('Authorization', $token); }
This now works with the existing LDAP authentication we’re using.
I tidied up the api.php
Routing a little too, using a prefix:
Route::group(['prefix' => 'auth'], function() { Route::post('login', 'VueAuth\AuthController@login'); Route::group(['middleware' => 'jwt.auth'], function(){ Route::get('user', 'VueAuth\AuthController@user'); Route::post('logout', 'VueAuth\AuthController@logout'); }); Route::group(['middleware' => 'jwt.refresh'], function(){ Route::get('refresh', 'VueAuth\AuthController@refresh'); }); });
Following on from this I had to move to jwt-auth 1.0 https://warlord0blog.wordpress.com/2018/07/26/jwtauth-laravel-and-vue-js/
LikeLike
1 Pingback