我正在尝试使用Vue和Laravel构建一个应用程序。我目前在Laravel中使用passport身份验证进行用户身份验证。但是,当我尝试使用axio从vue组件发出post请求时,即使我当前已登录,也会获得401未经授权的权限。
下面是一些示例代码:
1.从vue组件获取请求
getEvents() {
axios
.get("/api/calendar")
.then(resp => (this.events = resp.data.data))
.catch(err => console.log(err.response.data));
}
2.拉维路
Route::apiResource('/calendar', 'CalendarController')->middleware('auth:api');
3.与上述get请求关联的日历控制器
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return CalendarResource::collection(Calendar::all());
}
我花了好几个小时研究这个问题,但我发现的一切都不起作用。因此,任何帮助都是非常诱人的。
编辑:
额外细节
我使用Laravel 5.8.35。
关于护照,我使用这个留档laravel.com/docs/5.8/passport,并遵循安装前端快速启动和部署步骤。
第二次编辑:
github上的完整代码
这是github上的完整项目,如果有帮助的话。https://github.com/CMHayden/akal.app/tree/feature/Calendar
尝试在此处添加正确的中间件以及其他建议
'web' => [
// Other middleware...
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
https://laravel.com/docs/5.8/passport#consuming-使用javascript创建api
//send Authorization token with each request
axios.defaults.headers.common["Authorization"] = `Bearer ${token}`;
请确认您是否已在条目html
或blade
文件中设置csrf令牌的
meta
值
<meta name="csrf-token" content="{{ csrf_token() }}">
还有
axios
在bootstrap.js
文件中的头
window.axios = require('axios');
window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
我对您的项目做了一些更改,下面是github存储库https://github.com/AzafoCossa/ProFix,希望它能起作用。
打开AuthServiceProvider。php文件,将Passport::routes()
添加到boot()
函数并打开auth。php文件,从'driver'更新'api'防护=
'web' => [
// Other middleware...
\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],
数据正在从API成功返回。这是我第一次使用TypeScript调用API。我遇到的问题是,我不确定我的接口是否成功验证了应用编程接口数据。 这是我的界面
我正试图将一些表单数据发送到后端,但Laravel验证不会返回422状态的错误。 公理 简单的axios将请求发送到URL,并希望在请求周期中发现错误时返回响应。 Laravel 我已经设置了Laravel验证来验证一些表单输入,如果验证失败,则返回422。 回答 给出了一个响应,但当我试图对其进行控制台时,控制台中没有定义: 我在这里遇到过这个问题https://github.com/axios
问题内容: 我正在尝试使用axios向api端点发出请求,但出现以下错误: 似乎axios使用的https模块无法验证服务器上使用的SSL证书。 使用浏览器访问服务器时,证书有效,我可以查看/下载该证书。我还可以通过https向浏览器上的api请求。 我可以通过关闭验证来解决此问题。此代码有效。 问题是,这不验证SSL证书,因此打开了安全漏洞。 如何配置axios以信任证书并正确验证它? 问题答案
问题内容: 我正在尝试使用Jackson JSON接受一个字符串,并确定它是否为有效JSON。谁能建议要使用的代码示例(Java)? 问题答案: 不知道您的用例是什么,但是应该这样做:
问题内容: 我是从记录用户输入使用。我需要验证输入内容,例如: 必须为非负数 它必须是字母 …等等 最好的方法是什么? 问题答案: 示例1:验证正整数 这是一个用于int从输入中验证肯定的简单示例。 结果: 请注意,与更详细组合相比,使用起来要容易得多。通过合同,一个 保证,如果它,然后将安静地给你int,并不会引发任何。 示例2:同一令牌上有多个 请注意,上面的代码段包含一个语句,以使Scann