laravel - 使用laravel护照登录后尝试获取非对象的属性“名称”
问题描述
嗨,我已经使用 laravel 护照(个人访问令牌)构建了一个登录系统,所以当我想登录并重定向到主页后,它会显示“尝试获取非对象的属性'名称'”我知道来源错误是当我删除构造“$this->middleware('auth')”时,他无法恢复经过身份验证的用户的名称,但是当我放置构造时,登录无法将我重定向到主页任何解决方案的人:这是我的 currentUser.js:
import axios from "axios";
const state ={
user:{
}
};
const getters= {};
const actions = {
loginUser({},user){
axios.post("/api/login",{
email: user.email,
password: user.password
})
.then(response=>{
console.log(response.data);
if( response.data.acces_token){
//save token mte3na fi locoal storage
localStorage.setItem(
"membre_token",
response.data.acces_token
)
window.location.replace("/home");
}
})
}
};
const mutations={};
export default{
namespaced:true,
state,
getters,
actions,
mutations
}
and this is my web.php:
Route::get('/', function () {
return view('welcome');
});
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/{any}', 'HomeController@index')->where('any','.*');
这是我的家庭控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
// $this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Contracts\Support\Renderable
*/
public function index()
{
return view('home');
}
}
这是我在 api.php 中的登录路由器
Route::post('/login','API\AuthenController@login');
这是我在 AuthenController 中的登录功能:
public function login(Request $request){
$validation=$this->validate($request,[
'email' =>'required|email',
'password'=>'required',
]) ;
if(!Auth::attempt($validation)){
return response(['status'=>'error','message'=>'user Undefined']);
}
$accesToken =Auth::user()->createToken('TokenName')->accessToken;
return response(['user'=>Auth::user(), 'acces_token'=>$accesToken]);
}
解决方案
推荐阅读
- php - 将 macOS 从 High Sierra 升级到 Mojave 后 PHP 无法正常工作
- c# - 头疼 - 出现间隙
- google-app-engine - Google App Engine 提供具有错误 mime 类型的静态 CSS 文件
- javascript - 在地址栏中调用 localhost 后是否有运行 NodeJS 的模块
- .net-core - 如何将 Topshelf 与 .NET Core 2.1 应用程序一起使用?
- caption - Azure 媒体服务 v3 - 用于生成字幕的预设:Azure 媒体索引器 2 预览版
- scala - 如何存储数据框引用列表以供以后使用?
- spring-boot - SpringBoot @Configuration 和 @configurationProperties 的区别
- docker - 从 Golang-Webserver 控制 Docker
- iis-7 - 从 Outlook 2016 x64 连接的模拟错误