使用 Spring Authorization Server 实现具有 PKCE 的单页应用程序进行身份验证
开启 CORS
SPA 由静态资源组成,可以通过多种方式进行部署。它可以与后端分开部署,例如使用 CDN 或单独的 Web 服务器,也可以使用 Spring Boot 与后端一起部署。
当 SPA 托管在不同的域下时,可以使用跨域资源共享 (CORS) 来允许应用程序与后端通信。
例如,如果你有一个在端口 4200 上本地运行的 Angular 开发服务器,你可以定义一个 CorsConfigurationSource @Bean并将 Spring Security 配置为允许使用 cors() DSL 的预检请求,如以下示例所示:
Enable CORS
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.http.MediaType;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.oauth2.server.authorization.config.annotation.web.configuration.OAuth2AuthorizationServerConfiguration

本文介绍了如何在SpringAuthorizationServer中配置PKCE以支持跨域的单页应用程序(SPA),包括启用CORS、处理公共客户端的身份验证和授权流程。着重讲解了OAuth2授权代码流程,以及如何在SPA与后端分离部署时确保安全通信。
1295

被折叠的 条评论
为什么被折叠?



