如何在 Laravel 中验证 API 路由的 Vue.js / Axios 请求

2024-01-08

我在 Laravel 5.6 中。我已经构建了所有 API 路由,并正确响应来自 REST 客户端 (Paw) 的请求。我正在尝试构建一个简单的前端来访问这些路由。

我尝试尽可能多地使用 Laravel 的开箱即用功能,因此我使用 Axios 使用 Vue.js 从刀片模板中调用这些路由。如果我在测试路由上禁用身份验证中间件,它会起作用,但是当为路由启用身份验证中间件时,我会在控制台上收到 401 错误。

问题似乎很明显......auth:api守护我的/api路由希望在标头中看到 oauth 令牌,但是当我使用网页登录时,它会进行会话身份验证。我认为有一种简单的方法可以解决这个问题,而不必在 Web 前端欺骗 oauth 令牌请求,对吧?我是否需要以某种方式通过 Axios 传递我的请求中的会话令牌?如果是这样,我是否还需要更改auth:api我的 api 路由文件中的守卫?


我解决了!我有点尴尬,因为答案实际上在 Laravel 文档中,但我会说我在在这里发布问题之前尝试过这个,但它不起作用。也许当时还有别的东西坏了。

Per the Laravel 文档 https://laravel.com/docs/5.6/passport#consuming-your-api-with-javascript:

您需要做的就是添加CreateFreshApiToken中间件到你的web您的中间件组app/Http/Kernel.php file:

'web' => [
    // Other middleware...
    \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
],

这个 Passport 中间件将附加一个laravel_tokencookie 给你的 传出的回应。该 cookie 包含一个加密的 JWT Passport 将用于验证来自 JavaScript 的 API 请求 应用。现在,您可以向应用程序的 API 发出请求 没有显式传递访问令牌...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Laravel 中验证 API 路由的 Vue.js / Axios 请求 的相关文章

  • 如何在 NuxtJs 路由中使用 *(星号)?

    在 vue cli 生成的普通 Vue 不是 Nuxt 项目中 使用 在 vue router 中这样工作 export default new Router routes path about name about component A
  • Laravel 将变量发送到视图

    路线 php Route post user char name array as gt char profile post uses gt ProfileController postDropDownList Route get user
  • 使用 C# 使用证书进行 SSL 客户端身份验证

    我需要创建一个 C 应用程序 该应用程序必须使用 SSL 向服务器发送 API 请求 我需要创建客户端身份验证 我已经拥有服务器 CA 证书 客户端证书 cer 客户端私钥 pem 和密码 我找不到有关如何创建客户端连接的示例 有人可以建议
  • 获取所有连接的用户 (Laravel 5)

    如何显示我家中所有已连接的用户 这是一个非常基本的方法 但希望是检测两者的有效方法Guest and RegisteredLaravel5 应用程序上的用户 Step 1 打开文件config session php并将驱动程序更改为数据库
  • Vue 3 输入模式

    我想创建输入 如果模式不匹配 我可以用空字符替换输入的字符 模板
  • laravel 正则表达式验证不起作用

    我刚刚开始使用 laravel 正在努力验证我的表单之一中的文本区域 文本区域用于用户简介 因此我只想允许使用字母 数字 空格和以下字符 这就是我所拥有的 validator Validator make Input all array b
  • 使用 Laravel Socialite 登录 facebook

    然而 我是 Laravel 的新手 我正在遵循以下教程http www codeanchor net blog complete laravel socialite tutorial http www codeanchor net blog
  • Yajra DataTable Laravel 中的 Foreach

    我试图在我的数据表中放入一个 foreach 循环 但它不起作用 附 如果我删除 foreach 一切都已经正常了 这里附上我的代码 Product Product query colors Color all return Datatab
  • Laravel 5 包中依赖注入的最佳方法

    我正在为 Laravel 5 开发一个包 现在我需要受益于依赖注入来拥有一个更具可扩展性和可靠性的应用程序 我不知道最好采用哪种方法以及为什么 这是我的一段代码 我需要注射Lang类依赖 class MyController extends
  • Facebook 身份验证无需重定向?

    有没有办法在不重定向的情况下使用 facebook 身份验证 OAuth 2 0 我没有使用 facebook 登录按钮 所以我应该重定向到https www facebook com dialog oauth https www face
  • Laravel 5 命名约定

    我对 Laravel 约定有点困惑 因为我是这个框架的新手 我正在关注 Jeffrey Way 他使用的 Laracasts 视频Plural对于控制器名称 E g 页面控制器 卡片控制器 帖子控制器 但如果我参考官方文档Laravel g
  • Vue.js - 当标头中使用 multipart/form-data 时,axios 中的文件上传验证失败

    我正在构建一个 Laravel Vue js SPA 单页应用程序 BootstrapVue https bootstrap vue js org Vee验证 https logaretm github io vee validate gu
  • 如何减少 WEBPACK + VUEJS 中的包大小

    我遵循了很多有关如何减小捆绑包大小的教程 但没有任何内容对捆绑包大小产生任何影响 我不知道为什么 每次当我向 webpack 添加一些新代码时 我的包大小都保持与以前相同 我的应用程序是使用 vue cli 3 pwa 插件 webpack
  • axios onUploadProgress 和 onDownloadProgress 不适用于 CORS

    我有一个用 Node js 编写的服务器 以及一个在浏览器中运行的 Web 客户端 客户端应向服务器上传和下载一些文件 服务器并不是最初交付客户端的服务器 所以这里就出现了跨域的情况 服务器使用cors https www npmjs co
  • 如何使用 AngularJS ngView 为未经授权的用户隐藏模板?

    我有一个基本的 PHP 应用程序 其中用户登录信息存储在 HTTP 会话中 该应用程序有一个主模板 例如index html 它使用 ngView 切换子视图 如下所示 div div 现在 这个主模板可以通过基本的 PHP 控件进行保护
  • 验证域用户凭据

    我需要一种方法来验证 Windows 上本机 C 的用户 密码对 输入的是用户名和密码 用户可以是 DOMAIN user 格式 基本上我需要编写一个函数 如果用户 密码是有效的本地帐户 则返回 true 第1部分 如果用户 密码在给定的域
  • powershell:使用参数启动程序的脚本?

    当我运行下面的 Powershell 脚本时 我收到以下错误 如何通过 powershell 带参数运行程序 该脚本将是组策略登录 Invoke Expression 找不到位置参数 接受参数 TBHSERVER NETLOGON BGIn
  • ASP.NET Core 2.0禁用自动质询

    将我的 ASP NET Core 项目升级到 2 0 后 尝试访问受保护端点不再返回 401 而是重定向到 不存在的 端点以尝试让用户进行身份验证 应用程序所需的行为只是返回 401 以前我会设置AutomaticChallenge fal
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • 如何在 ChartJS 中创建自定义图例

    我需要使用 ChartJS 库为我的圆环图创建自定义图例 我已经使用 ChartJS 提供的默认图例创建了甜甜圈 但我需要一些修改 我希望其价值高于汽车名称 另外 我不喜欢粘性图例 我想将其与甜甜圈分开 这样我就可以更改字体 框的样式 例如

随机推荐