问题标签 [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.
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?
laravel - Laravel 7 圣所注销
我正在为我的应用程序使用 Laravel 7 和 Sanctum 身份验证。
如何实施注销程序?
我用:
它有效,但它删除了该用户的所有令牌。我只想删除请求注销的用户的令牌,这样其他会话应该保持打开状态
laravel - 特定路线中的Laravel“未经身份验证”错误
在我的 Laravel 7 后端中,我有一些 api url,例如:
路由 /logout 和 /profile/1 工作正常,而路由 /logout/all 给出错误:
我使用的令牌是正确的,因为我可以将它用于其他路线并且它有效。
当然,在尝试 /logout/all 之前我没有调用 /logout。
我尝试更改 logoutAll 的控制器功能,将其设置为“注销”:
它以这种方式工作,但这会调用相同的函数。
这是函数的代码:
请帮帮我。
更新
如果我使用 CURL 命令,这是输出:
php - Laravel 圣所 | 反应JS | SPA 认证问题
我正在使用 Laravel Sanctum 进行 SPA 身份验证。我的 SPA 是响应式的,并且位于与 Laravel 相同的存储库中。这意味着我正在使用 Laravel React UI 脚手架。
我首先担心的是,在访问我的 SPA 应用程序的登录页面时,我看到XSRF-TOKEN
并app_session
cookie 没有发送请求sanctum/csrf-cookie
问题:为什么在不调用 csrf-cookie 端点的情况下生成 cookie?
会不会是 Laravel 默认生成的?
其次,对 login 和 csrf-cookie 的调用工作正常,但/user
API 失败
我的环境文件.env
具有以下配置:
sanctum.php
有以下配置:
cors.php
有以下配置:
kernel.php
还需要更改:
我的路线web.php
如下所示:
api.php
路由文件如下所示:
请协助解决/user
端点的协助401错误。我遵循了许多教程,但没有运气。
php - 使用 sanctum 在 Laravel API 中进行身份验证
我一直在使用 POSTMAN 和浏览器访问我的登录端点,但我总是遇到“未经授权”错误。我在 config 文件夹中添加了 Sanctum 和 Cors 所需的配置。
这是我的代码
这是我的 vuejs 文件,我从这里访问登录端点并且我的 API 是版本化的。
php - 为什么需要在 createToken 方法中传递一个字符串?
要在 Laravel Sanctum 中创建访问令牌,需要在createToken
方法中传递一个字符串。我觉得这很奇怪,因为您传入的任何内容要么使用 SHA-256 进行哈希处理,要么您可以获取纯文本令牌。
为什么访问令牌不是基于随机字符串创建的?例如,它可以很容易地完成Str::random(10)
。我不太确定要传递什么名字。
laravel - 通过 Sanctum plainTextToken 检索用户
如何从 Sanctum 令牌中检索“登录”用户。
对于登录,我有以下方法
现在注销我使用自定义方法。
我想撤销令牌,但我不知道如何检索当前登录的用户。显然,为了注销,我发送了带有 Bearer 和 plainTextToken 作为值的 Authorization 标头。
laravel - 如何使用 Sanctum 令牌 Laravel 保护管理员路由免受普通用户的攻击?
我有管理员和普通用户。我正在使用 Laravel Sanctum 进行身份验证 API。当我从普通用户登录时,如果我在管理 API 中使用相同的令牌作为承载令牌,则该路由可以通过该令牌访问。当普通用户尝试使用其令牌进行访问时,我想阻止他们的管理路由。
reactjs - Laravel 灯塔当前用户通过下一个阿波罗为空
我有一个带有圣所和灯塔的 laravel 新副本。当我通过 axios 进行登录路由时,一切都按预期工作。通过 axios 登录后,我添加了一个lazyquery
以尝试查询一些受保护的字段,但我未通过身份验证。我不知道为什么,我已经处理了三天。我真的很感谢你的帮助。
这有效
但是当我缩短它并更改为这个时,我会未经身份验证
unauthenticated
当我添加指令并且我看到来自 axios 登录请求的令牌在标题中时,它会返回@guard
......我不确定我在这里缺少什么我非常感谢你的帮助。
架构.graphql
.env
配置/cors.php
配置/灯塔
在我使用阿波罗的下一个应用程序中