当前位置: 首页 > 知识库问答 >
问题:

圣殿温泉认证-网络。php vs api。php

郑宇
2023-03-14

我正在使用Sanctum进行SPA认证。在我看到的几个例子中,人们在web中创建身份验证路由(登录、注销、注册)。php路由文件,而不是api。php路由文件。这有什么原因吗?在文档中,我确实看到这里提到。。。

您可能想知道为什么我们建议您使用密室防护来验证应用程序的路由/web.php文件中的路由。请记住,Sanctum将首先尝试使用Laravel的典型会话身份验证cookie对传入请求进行身份验证。如果该cookie不存在,则Sanctum将尝试使用请求授权标头中的令牌对请求进行身份验证。此外,使用Sanctum对所有请求进行身份验证可以确保我们始终可以在当前经过身份验证的用户实例上调用TokenCan方法

...但这是针对API令牌认证,而不是直接在SPA认证下。

是否有任何理由可以在web中更好地处理我的身份验证路由。php

共有1个答案

壤驷旭
2023-03-14

在典型的Laravel应用程序中,您的API路由是无状态的,不会持久化会话;具体来说,他们没有启动会话中间件。

因此,如果将这些路由放在API文件中,则基于cookie的身份验证将不起作用。

在web文件中包含这些路由允许将这些特定路由包装在会话中,允许基于cookie的身份验证,然后在需要时返回到使用无状态授权头。

我忘了确切的单词,但是Taylor非常喜欢SPA使用基于cookie的身份验证,因为它们是API令牌上的同一个域。

但这应该可以解释原因。当然,如果你愿意,欢迎你改变这一点。

 类似资料:
  • 我使用Spring安全核心插件。我想在用户登录后立即将对象放入会话中。到目前为止,我发现插件中有。它有一个称为的方法,它似乎在成功进行身份验证后被调用。所以我决定创建另一个LoginController,它扩展了默认控制器并覆盖了此方法: 但是调试表明这个方法从来没有被调用过。出了什么问题?可能有另一种方法来做我想做的事吗?谢谢大家!

  • 现代网络环境的情况是,由于许多困难,调查可能充满困难。 无论您是在响应违规支持,调查内部活动,执行与漏洞相关的评估,还是验证法规遵从性,都可能发生这种情况。 网络编程的概念 以下定义用于网络编程。 Client - 客户端是在个人计算机和工作站上运行的网络编程的客户端 - 服务器体系结构的一部分。 Server - 服务器是客户端 - 服务器体系结构的一部分,为同一台计算机或其他计算机中的其他计算

  • 作为几千年中华文明的见证,浩瀚传统文化传承的载体,汉字是让我们每一个中国人引以为豪的东方文明的标志之一。我们的祖先创造汉字,书写汉字,利用汉字和 汉语的无穷魅力创造出让人叹为观止的文学,艺术。而今天进入了计算机时代的我们,虽然不再象古人一样手持毛笔,批著简帛,但我们的生活仍然无时无刻离不开 汉字。 可以毫不夸张的讲,汉字①是世界上最为复杂和庞大的符号系统之一。早在殷商时期,我们的先人就创造出了数目

  • 我正在构建包括两个容器的docker-comment服务。其中一个容器(节点)被设计成支持自动发现机制,并且需要成为主机局域网的一部分(因为我需要多播UDP包由局域网路由器处理,而不是内置的docker路由器)。 虽然docker-compose.yml中的network_mode:主机完美地做到了这一点,但我需要此服务也可以通过默认的docker-comment网络(如:超文本传输协议://节点

  • 前几节介绍的LeNet、AlexNet和VGG在设计上的共同之处是:先以由卷积层构成的模块充分抽取空间特征,再以由全连接层构成的模块来输出分类结果。其中,AlexNet和VGG对LeNet的改进主要在于如何对这两个模块加宽(增加通道数)和加深。本节我们介绍网络中的网络(NiN)[1]。它提出了另外一个思路,即串联多个由卷积层和“全连接”层构成的小网络来构建一个深层网络。 NiN块 我们知道,卷积层

  • 状态{statuscode=network_error,resolution=null} 任何形式的帮助都将受到高度赞赏。

  • 在 libuv 中,网络编程与直接使用 BSD socket 区别不大,有些地方还更简单,概念保持不变的同时,libuv 上所有接口都是非阻塞的。它还提供了很多工具函数,抽象了恼人、啰嗦的底层任务,如使用 BSD socket 结构体设置 socket 、DNS 查找以及调整各种 socket 参数。 在网络I/O中会使用到uv_tcp_t和uv_udp_t。 note 本章中的代码片段仅用于展示

  • 1 三次握手 客户端通过向服务器端发送一个SYN来创建一个主动打开,作为三次握手的一部分。客户端把这段连接的序号设定为随机数 A。 服务器端应当为一个合法的SYN回送一个SYN/ACK。ACK 的确认码应为 A+1,SYN/ACK 包本身又有一个随机序号 B。 最后,客户端再发送一个ACK。当服务端受到这个ACK的时候,就完成了三路握手,并进入了连接创建状态。此时包序号被设定为收到的确认号 A+1