我使用Laravel Passport进行身份验证,因此我将路由放入中间件保护中。
为了清楚起见,我也添加了UsersController。
public function getUser()
{
$users = Auth::user();
return response()->json($users);
}
Run Code Online (Sandbox Code Playgroud)
//
public function getUser()
{
$users = Auth::user();
return response()->json($users);
}
Run Code Online (Sandbox Code Playgroud)
当然,我需要登录,否则看不到受保护的路由。我在AuthController控制器内部做了一个and内部的登录功能。
控制者
Route::group(['prefix' => 'v1', 'middleware' => 'auth:api'], function () {
/* users */
Route::get('/users', 'Api\UsersController@getUser');
/* fetch */
Route::get('/articles', 'Api\ArticlesController@allArticles');
Route::get('/article/{id}', 'Api\ArticlesController@singleArticle');
});
Run Code Online (Sandbox Code Playgroud)
在vuex的前端,我有一个动作呼叫。
retrieveToken(context, credentials){
return new Promise((resolve, reject) => {
axios.post("api/v1/login", {
email: credentials.username,
password: credentials.password,
})
.then(response => {
const token = response.data.access_token;
localStorage.setItem("access_token", token);
context.commit("retrieveToken", token);
resolve(resolve);
}) …Run Code Online (Sandbox Code Playgroud)