问题标签 [laravel-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 投票
1 回答
754 浏览

laravel - Laravel 未经授权返回第二个请求

我正在尝试创建 SPA。我将 Laravel API 用于后端,将 Nuxt.js 用于前端。我想通过 Laravel Sanctum 对用户进行身份验证。我在 localhost:8000 上运行后端,在 localhost:3000 上运行前端。SANCTUM_STATEFUL_DOMAINS 设置为 localhost:3000,SESSION_DOMAIN 设置为 localhost,SESSION_DRIVER 设置为 cookie。

我在我的应用程序中创建了登录和注销,一切都很好,直到我在登录后提出第一个请求。我只是希望我的应用程序返回所有用户:

但它返回 401 未经身份验证。我不知道为什么会这样。用于返回登录用户的路由使用相同的中间件:

并且完美运行(Nuxt 在每次页面更改时返回登录用户)。我用 axios 调用了用户路由:

什么会导致这个问题?这非常令人沮丧,因为我为了让登录和注销工作而付出了很多努力。

我还考虑过在 api.domain.test 上运行 API,在 domain.test 上运行前端,但是是否可以在本地将这样的域连接到 Nuxt?

0 投票
3 回答
16701 浏览

laravel - Laravel 7 圣所注销

我正在为我的应用程序使用 Laravel 7 和 Sanctum 身份验证。
如何实施注销程序?
我用:

它有效,但它删除了该用户的所有令牌。我只想删除请求注销的用户的令牌,这样其他会话应该保持打开状态

0 投票
1 回答
745 浏览

laravel - 特定路线中的Laravel“未经身份验证”错误

在我的 Laravel 7 后端中,我有一些 api url,例如:

路由 /logout 和 /profile/1 工作正常,而路由 /logout/all 给出错误:

我使用的令牌是正确的,因为我可以将它用于其他路线并且它有效。
当然,在尝试 /logout/all 之前我没有调用 /logout。

我尝试更改 logoutAll 的控制器功能,将其设置为“注销”:

它以这种方式工作,但这会调用相同的函数。
这是函数的代码:

请帮帮我。

更新

如果我使用 CURL 命令,这是输出:

0 投票
1 回答
1513 浏览

php - Laravel 圣所 | 反应JS | SPA 认证问题

我正在使用 Laravel Sanctum 进行 SPA 身份验证。我的 SPA 是响应式的,并且位于与 Laravel 相同的存储库中。这意味着我正在使用 Laravel React UI 脚手架。

首先担心的是,在访问我的 SPA 应用程序的登录页面时,我看到XSRF-TOKENapp_sessioncookie 没有发送请求sanctum/csrf-cookie

在此处输入图像描述

问题:为什么在不调用 csrf-cookie 端点的情况下生成 cookie?

会不会是 Laravel 默认生成的?

其次,对 login 和 csrf-cookie 的调用工作正常,但/userAPI 失败

在此处输入图像描述

我的环境文件.env具有以下配置:

sanctum.php有以下配置:

cors.php有以下配置:

kernel.php还需要更改:

我的路线web.php如下所示:

api.php路由文件如下所示:

请协助解决/user端点的协助401错误。我遵循了许多教程,但没有运气。

0 投票
2 回答
1715 浏览

laravel - Laravel Sanctum - 在 auth:sanctum 上获得 401,登录后返回令牌

我有以下登录方法:

此方法有效,返回令牌的格式类似于:

当我尝试使用带有该令牌的auth:sanctum后面的路由时,我得到了

我正在使用最新的 Laravel 7。配置:

.env

cors.php

我正在使用 Insomnia 进行 API 测试。login 方法以及任何不使用auth:sanctum中间件的路由都有效。知道我在这里做错了什么吗?

失眠设置

0 投票
2 回答
2754 浏览

php - 使用 sanctum 在 Laravel API 中进行身份验证

我一直在使用 POSTMAN 和浏览器访问我的登录端点,但我总是遇到“未经授权”错误。我在 config 文件夹中添加了 Sanctum 和 Cors 所需的配置。

这是我的代码

这是我的 vuejs 文件,我从这里访问登录端点并且我的 API 是版本化的。

0 投票
1 回答
605 浏览

php - 为什么需要在 createToken 方法中传递一个字符串?

要在 Laravel Sanctum 中创建访问令牌,需要在createToken方法中传递一个字符串。我觉得这很奇怪,因为您传入的任何内容要么使用 SHA-256 进行哈希处理,要么您可以获取纯文本令牌。

为什么访问令牌不是基于随机字符串创建的?例如,它可以很容易地完成Str::random(10)。我不太确定要传递什么名字。

0 投票
3 回答
3922 浏览

laravel - 通过 Sanctum plainTextToken 检索用户

如何从 Sanctum 令牌中检索“登录”用户。

对于登录,我有以下方法

现在注销我使用自定义方法。

我想撤销令牌,但我不知道如何检索当前登录的用户。显然,为了注销,我发送了带有 Bearer 和 plainTextToken 作为值的 Authorization 标头。

0 投票
0 回答
471 浏览

laravel - 如何使用 Sanctum 令牌 Laravel 保护管理员路由免受普通用户的攻击?

我有管理员和普通用户。我正在使用 Laravel Sanctum 进行身份验证 API。当我从普通用户登录时,如果我在管理 API 中使用相同的令牌作为承载令牌,则该路由可以通过该令牌访问。当普通用户尝试使用其令牌进行访问时,我想阻止他们的管理路由。

0 投票
1 回答
1061 浏览

reactjs - Laravel 灯塔当前用户通过下一个阿波罗为空

我有一个带有圣所和灯塔的 laravel 新副本。当我通过 axios 进行登录路由时,一切都按预期工作。通过 axios 登录后,我添加了一个lazyquery以尝试查询一些受保护的字段,但我未通过身份验证。我不知道为什么,我已经处理了三天。我真的很感谢你的帮助。

这有效

但是当我缩短它并更改为这个时,我会未经身份验证

unauthenticated当我添加指令并且我看到来自 axios 登录请求的令牌在标题中时,它会返回@guard......我不确定我在这里缺少什么我非常感谢你的帮助。

架构.graphql

.env

配置/cors.php

配置/灯塔

在我使用阿波罗的下一个应用程序中

创建.js

与Apollo.js

使用@guard 指令的查询结果