java - Spring Security JWT - 通过授权 header 进行 postman 身份验证可以工作,但从我的 Angular 前端无法工作

标签 java angular spring-security jwt postman

我有一个 Web 应用程序,后端使用 Java、Spring Boot 和 Spring Security,前端使用 Angular。

我已经使用 Spring Security 实现了登录,并且身份验证似乎有效 - 在 Postman 以及我的应用程序的前端中,我收到了一个 jwt token 。两个 token 似乎都是正确的,因为无论我使用在 Postman 中还是在前端获取的 token ,当我在向服务器发出其他请求时在授权 header 中发送任何这些 token 时,该 token 都会被我的应用程序的后端接受我从服务器收到 200 OK 响应。

但这是事情的不同之处:只有当我从 postman 发送时,我的请求才会被授权。当我从应用程序的前端发送(我认为)相同的请求时,后端会抛出 403 禁止。当然,我认为我必须从前端发送请求,而不是从 postman 发送请求,但我只是找不到任何区别。据我所知,我发送了相同的方法、相同的正文、相同的 header (带有授权 token )

你知道那里会发生什么吗?

最佳答案

原因是我需要在扩展 WebSecurityConfigurerAdapter 的类中启用 Spring Security 中的 cors :

protected void configure(HttpSecurity http) throws Exception {
    http
            .cors().and()

关于java - Spring Security JWT - 通过授权 header 进行 postman 身份验证可以工作,但从我的 Angular 前端无法工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62457319/

相关文章:

javascript - 在 TypeScript 函数内使用外部变量。

javascript - Angular 2组件执行顺序

Angular2 模态出现 "no Provider for overlay"错误?

java - JSF Primefaces 和 Spring security 用户管理 ROLE_USER 和 ROLE_ADMIN

Spring Security 和 @Async(经过身份验证的用户混在一起)

java - 如何将文本文件中的字符串分配给Java的整数数组?

java - 有没有一种方法可以使用 for 循环对具有与其关联的字符串的整数求和?

spring - 使用 Spring Security 3.0.2 进行 OpenId 身份验证和自动注册

java - 如何避免Spring批量将元数据持久化到DB中

java - 如何从 StringBuilder 获取值并将其传递给另一个 Activity ?