Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.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
Angular 使用Spring Boot的JWT身份验证和授权_Angular_Spring Boot_Jwt - Fatal编程技术网

Angular 使用Spring Boot的JWT身份验证和授权

Angular 使用Spring Boot的JWT身份验证和授权,angular,spring-boot,jwt,Angular,Spring Boot,Jwt,有人能告诉我如何使用React(或任何前端框架)作为入口点,然后使用JWT身份验证(springboot)进行用户登录身份验证和授权,并且令牌对于用户进行的所有restapi调用仍然有效。此外,如果用户关闭浏览器(如gmail或facebook),则令牌仍然有效,下次如果同一用户登录,则应直接重定向到主页。 在我们理解之前,我们需要确切地知道传统的基于HTTP的网站和移动设备在身份验证方面的区别 会话或令牌的主要区别在于会话基于客户端浏览器环境 浏览器代理将自动将Cookie包含到请求头中。因

有人能告诉我如何使用React(或任何前端框架)作为入口点,然后使用JWT身份验证(springboot)进行用户登录身份验证和授权,并且令牌对于用户进行的所有restapi调用仍然有效。此外,如果用户关闭浏览器(如gmail或facebook),则令牌仍然有效,下次如果同一用户登录,则应直接重定向到主页。

在我们理解之前,我们需要确切地知道传统的基于HTTP的网站和移动设备在身份验证方面的区别

会话
令牌
的主要区别在于
会话
基于客户端浏览器环境

浏览器代理将自动将
Cookie
包含到请求头中。因此后端可以提取
会话ID
,一旦我们有了会话ID,我们就可以获得当前请求者的信息

当我们离开浏览器环境时,每个API请求都必须由我们自己提供一个身份验证令牌,因为HTTP协议是无状态的,所以我们需要指定一个令牌,以允许服务器识别我们是谁

JWT
最大的优点是不可伪造,可以携带一些非敏感信息。因为它是不可伪造的,所以每个后端应用程序都可以轻松地使用其中的数据(如用户ID),这对于构建分布式身份验证非常有帮助。尽管
JWT
过期时间
,但一旦需要撤销令牌,我们就需要持久令牌的状态


这个答案可能不是一个精确的解决方案,但它将帮助您选择与所有平台兼容的正确技术进行身份验证。

这太棒了。很好的解释。非常感谢你。