Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 为什么基于令牌的身份验证更适合单页应用程序?_Angularjs_Node.js_Token_Jwt_Single Page Application - Fatal编程技术网

Angularjs 为什么基于令牌的身份验证更适合单页应用程序?

Angularjs 为什么基于令牌的身份验证更适合单页应用程序?,angularjs,node.js,token,jwt,single-page-application,Angularjs,Node.js,Token,Jwt,Single Page Application,好吧,这可能是一个非常幼稚或幼稚的问题,但我试着在互联网上搜索,只有在没有找到任何有成效的东西后才求助于堆栈溢出。我一直在阅读关于基于令牌的身份验证以及基于Cookie的身份验证的文章。我认为基于令牌的身份验证更适合于单页web应用程序,但我无法清楚地理解原因。我将使用nodejs和angularjs来实现同样的功能。SPA通常有很多面:登录视图、注销视图或受限视图。这都是关于访问控制的。您的用户都获得了相同的应用程序,但他们可能没有相同的访问级别。您将发现自己正在为前端和后端构建访问控制逻辑

好吧,这可能是一个非常幼稚或幼稚的问题,但我试着在互联网上搜索,只有在没有找到任何有成效的东西后才求助于堆栈溢出。我一直在阅读关于基于令牌的身份验证以及基于Cookie的身份验证的文章。我认为基于令牌的身份验证更适合于单页web应用程序,但我无法清楚地理解原因。我将使用nodejs和angularjs来实现同样的功能。

SPA通常有很多面:登录视图、注销视图或受限视图。这都是关于访问控制的。您的用户都获得了相同的应用程序,但他们可能没有相同的访问级别。您将发现自己正在为前端和后端构建访问控制逻辑

因为令牌包含所有这些信息,所以它们是非常可移植的:UI和后端可以使用它们来做出决策。您可以将它们与合作伙伴服务共享,作为构建单一登录服务的一种方式,将用户委托给正确的应用程序

希望此链接能为您提供更多信息


SPA往往有许多面:登录视图、注销视图或受限视图。这都是关于访问控制的。您的用户都获得了相同的应用程序,但他们可能没有相同的访问级别。您将发现自己正在为前端和后端构建访问控制逻辑

因为令牌包含所有这些信息,所以它们是非常可移植的:UI和后端可以使用它们来做出决策。您可以将它们与合作伙伴服务共享,作为构建单一登录服务的一种方式,将用户委托给正确的应用程序

希望此链接能为您提供更多信息

我猜,对于基于令牌的身份验证以及基于Cookie的身份验证,您的意思是令牌身份验证与会话身份验证,因为令牌可以存储在Cookie中

  • 通过基于会话的身份验证,服务器为每个连接的用户维护一个会话。客户端使用其凭据进行身份验证,并接收会话id(可存储在cookie中),并将其附加到每个后续传出请求。因此,这可以被视为“令牌”,因为它相当于一组凭证。这种方法需要大量的服务器资源
  • 基于令牌的身份验证是无状态的,不需要服务器存储,因为颁发的令牌(主要使用JWT)包含相关用户信息,并使用服务器私钥签名,因此不可伪造。令牌存储在客户端(cookie、localStorage等),附加到每个请求并由服务器验证。令牌也适用于不需要维护每个请求之间状态的RESTAPI
基于表单的应用程序使用基于会话的身份验证,而SPA由于其固有的优势,通常使用基于令牌的身份验证

还请注意,如果应用程序位于服务器所在的同一域中,则仅具有基于会话的身份验证的SPA将向传出请求附加Cookie

我猜,对于基于令牌的身份验证以及基于Cookie的身份验证,您的意思是令牌身份验证vs会话身份验证,因为令牌可以存储在cookie中

  • 通过基于会话的身份验证,服务器为每个连接的用户维护一个会话。客户端使用其凭据进行身份验证,并接收会话id(可存储在cookie中),并将其附加到每个后续传出请求。因此,这可以被视为“令牌”,因为它相当于一组凭证。这种方法需要大量的服务器资源
  • 基于令牌的身份验证是无状态的,不需要服务器存储,因为颁发的令牌(主要使用JWT)包含相关用户信息,并使用服务器私钥签名,因此不可伪造。令牌存储在客户端(cookie、localStorage等),附加到每个请求并由服务器验证。令牌也适用于不需要维护每个请求之间状态的RESTAPI
基于表单的应用程序使用基于会话的身份验证,而SPA由于其固有的优势,通常使用基于令牌的身份验证


还请注意,如果应用程序位于服务器所在的同一域中,则仅具有基于会话的身份验证的SPA会将cookie附加到传出请求上,不要将链接作为答案,因为内容可能会改变,读者必须努力理解链接如何回答问题。如果你认为一个链接可能有帮助,总结一下,把它和问题联系起来,当然,把链接贴出来。一般来说,我会回顾我的回答,因此,不要将链接作为答案,因为内容可能会发生变化,读者必须努力理解链接如何回答问题。如果你认为一个链接可能有帮助,总结一下,把它和问题联系起来,当然,把链接贴出来。我会复习我的答案