SSO no Spring Boot com OpenID Connect: Spring Security, Resource Server e Spring Cloud Gateway com Casdoor
Para adicionar single sign-on ao Spring Boot, registre cada aplicativo como uma aplicação em um provedor OpenID Connect, como o Casdoor, aponte o Spring Security para a URL do emissor do provedor e escolha o módulo Spring que corresponde ao aplicativo: oauth2Login() para um aplicativo web renderizado no servidor, oauth2ResourceServer().jwt() para uma API REST que recebe tokens bearer e Spring Cloud Gateway com o filtro TokenRelay quando um gateway autentica usuários para um conjunto de microsserviços. Os usuários obtêm SSO porque todos os aplicativos os enviam para o mesmo Casdoor, que lembra a sessão: o segundo aplicativo redireciona, o Casdoor já conhece o usuário e eles retornam diretamente sem um formulário de login. Este post configura as três formas contra um único Casdoor, cada uma com um application.yml funcional e um SecurityFilterChain personalizado.