无状态身份验证 - 这究竟是什么意思?

时间:2016-11-12 20:16:35

标签: php laravel laravel-5.3

我在Laravel中使用Socialite库。在文档中告诉一个段落:

The stateless method may be used to disable session state verification. This is useful when adding social authentication to an API:
这是什么意思?什么时候应该使用它?

1 个答案:

答案 0 :(得分:6)

实际上,基本身份验证机制使用会话来存储访问者身份,因此当您进行身份验证(以登录表单提供凭据)时,当您在登录后访问其他页面时,应用程序不会再次请求密码。因此,会话用于保持用户在应用程序中的当前状态。这是大多数情况下发生的情况。

另一方面,在不使用会话的情况下使用无状态认证。在这种情况下,应用程序不会将任何数据保留在会话中,以便在后续请求中识别用户。相反,它会独立验证每个请求。

什么时候需要这个?

基本上,当您打算构建某种API时可能需要它,这些API可以将资源作为服务提供给用户,用户可以向您的stateless auth发送请求以获取数据从任何地方,我的意思是用户可能不是您系统的注册用户,但您可能允许用户使用服务器中的数据,具体取决于某种基于令牌的身份验证。

这还不足以描述Stateless Authentication,但这可能会给你一些想法。此外,您可以查看How to do stateless (session-less) & cookie-less authenticationthis,如果您使用术语DataGridView在Google上进行搜索,也可以找到有用的链接。