问题标签 [sanctum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
25 浏览

laravel - 我可以在 nuxtServerInit 方法中使用基于 cookie 的 Laravel Sanctum auth 检查用户的身份验证状态吗?

我正在本地使用 Nuxt (v2) SSR 项目测试 Laravel Sanctum。我正在使用基于 cookie 的身份验证和 axios。

从我的应用程序调用身份验证保护路由时,请求被接受(当然,前提是我已登录)。但是,当从nuxtServerInit钩子中调用相同的路由时,我的 API 会拒绝请求(401,未经授权)。这是因为这些请求来自节点服务器,而不是浏览器。

假设一个默认的基于 Nuxt/Sanctum cookie 的身份验证实现,有没有办法修改来自节点服务器的请求或我的 Laravel 配置,以便我可以从内部访问身份验证保护的路由nuxtServerInit?我已经修改了节点端的请求对象以模仿来自客户端的工作请求(附加标头、cookie 等),但是我无法让它工作。

我知道有基于令牌的替代方案,将用户持久保存在 vuex 存储/本地存储等中的变通方法,但是这个问题专门针对源自nuxtServerInit方法内部的请求。

0 投票
0 回答
20 浏览

laravel - Laravel Octane、Sail、Sanctum 和 Dusk 已过期 419 页

迁移到 Laravel Octane 后,黄昏测试失败并显示 419 Page Expired。在迁移之前,一切都很好......

我对名称文件 docker/8.1/supervisord.conf 进行了以下更改

  • Laravel 版本:8.82.0
  • Laravel 圣所:2.14.0
  • 辛烷值版本:1.2.0
  • 黄昏版本:6.22.0
  • PHP版本:8.1.1
  • 数据库驱动程序和版本:MySQL 8
  • 操作系统:macOS 12.2

我的.env.local.dusk文件部分:

我的黄昏测试:

问候!:)

0 投票
0 回答
15 浏览

php - React js 和 sanctum:401 未授权

我需要使用 Laravel 作为 API 和一个单独的反应应用程序作为前端。

如果我设置不记名令牌,并在标头中传递给 Laravel,一切正常,但我想使用 cookie 会话。

域是:frontend.appname.local (react) 和 development.appname.local (laravel)

拉拉维尔:.env:

cors.php:

内核.php:

反应:

其中 CSRF_URL =http://development.appname.local/sanctum/csrf-token

登录没问题,cookie 似乎是在我的浏览器中设置的(我可以在应用程序选项卡中看到它)。

当我尝试执行另一个发布请求时发生错误,并且我得到 401 未经授权。cookie 似乎是在这个新的 post 请求中发送的:

我错过了什么吗?

0 投票
0 回答
24 浏览

laravel - 如何使用 Sanctum 正确创建 Laravel + vue CRUD?

我正在尝试使用 Laravel 8 + Sanctum 和 Vue3 + Vuex3 创建 CRUD。我使用了很多教程,但没有像我预期的那样工作。

对我来说最不可理解的是Sanctum and error:“未授权”

在 Login 组件中查看我的登录功能:

Vuex 身份验证

现在,成功登录后,我想去仪表板并查看用户列表。仪表板组件:

在这里我有圣所错误。但!尝试使用登录期间获得的令牌作为 axios 的标头来解决此问题:

一切都开始了。为什么?为什么所有带有 sanctum 的教程都只有 axios.get /sanctum/scrf-cookie 不起作用?我错了什么?如果我必须在登录后从数据库中获取令牌,我应该使用 sanctum 吗?我很难理解这一点。

我的 api Laravel 路由器:

Vue路由器:

我还设置了 cors、sanctum config 并设置了 SESSION_DRIVER 等。

.env:

cors.php

圣所.php

有人可以帮我理解吗?

问候

0 投票
0 回答
15 浏览

laravel - Laravel Sanctum 多重保护/中间件

我正在使用 Laravel Sanctum 和 Vuejs。我想分别以管理员和用户身份登录,当然他们的请求不应该相互联系。

我有用户(模型和控制器)和管理员(模型和控制器)

这就是我登录的方式(两个控制器分别像这样)

我可以这样使用

但我真正想这样使用

我试过了

我还定义了自定义警卫

顺便说一句,当我尝试像这样更改驱动程序时 => sanctum php artisan server:8000 退出了。