我是离子2和laravel 5.4
的新手我正在尝试创建用户的注册,登录和仪表板。
当我尝试创建登录时,它会显示tokenMismatchException
。
现在,我怎样才能将csrf令牌从离子传递到laravel?
这是我在login.ts中的方法
login() {
var headers = new Headers();
headers.append("Accept", 'application/json');
headers.append('Content-Type', 'application/json' );
let options = new RequestOptions({ headers: headers });
let data = {
username: this.username,
password: this.password,
// can i pass token here to laravel?
}
this.http.post(this.apiUrl + '/api/login', data, options)
.subscribe(res => {
console.log(res);
}, error => {
console.log(error);// Error getting the data
});
}
在laravel中的api.php里面的路线
Route::post('login','ApiController@login');
在我的api控制器中
public function login(Request $request) {
echo json_encode($request->username);
// how to create login auth here? from ionic 2?
}
问题1:tokenMismatchException
问题2:我不知道如何使用ionic 2和laravel 5.4作为后端创建登录。
这里有人可以给我关于离子2 + laravel 5.4登录auth的资源还是可以解决问题? 感谢并继续分享您的想法,以帮助程序员:)
答案 0 :(得分:2)
我在这里找到了答案https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps。
对于像我这样的初学者来说,这可能是一个很好的资源,因为它有一步一步的教程。
答案 1 :(得分:0)
我相信您可以做这样的事情。如果您使用的是离子本机,则需要返回一个唯一的令牌,该令牌将存储在您的应用程序状态中,以便您可以逐页浏览。
public function login(Request $request)
{
$this->validate($request,[
'username' => 'required',
'password' => 'required'
]);
$user = User::where('username', $request->username)
->orWhere('email', $request->username)
->first();
if(Hash::check($request->password, $user->password)){
return $user->toJson(JSON_PRETTY_PRINT);
}else{
return "{error: 'true', message: 'wrong login credentials'}";
}
}