如何解决为什么我的Laravel Passport Auth无法在浏览器中工作?
我有一个带有Passport身份验证的新laravel应用程序。我的登录代码在我的失眠应用程序中运行完美。
登录:
public function login(Request $request)
{
if(Auth::attempt(['username' => request('username'),'password' => request('password')]))
{
$user = Auth::user();
$success['token'] = $user->createToken('AppName')-> accessToken;
return response()->json(['authstat'=>'Authorized','user'=>Auth::user()->id,'access_token'=>$success]);
}
else
{
return response()->json(['authstat'=>'Unauthorized']);
}
}
失眠测试
http://api-auth.test/api/auth/login
//json request
{
"username":"wen","password":"12345678"
}
,但是当我在浏览器中尝试使用它时,即使我输入了正确的用户名和密码,它也会始终返回Unauthorized
。这是前端的ajax请求。
<script type="text/javascript">
$("#loginfrm").on("submit",function(e){
event.preventDefault();
var username = $("#username").val();
var password = $("#password").val();
$.ajax({
type: "POST",url: "http://api-auth.test/api/auth/login",contentType: "application/json",Accept: "application/json",dataType: 'json',data:{
"_token": "{{ csrf_token() }}","username": username,"password": password
},complete: function (data) {
console.log(data.responseJSON["authstat"]);
}
});
});
</script>
有什么建议吗?谢谢。
解决方法
您的登录方法期望输入request('username')
,但是$ .ajax却发送email
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。