spring-boot - Spring Boot、带有 azure 的 OAuth2 和另一个提供商(例如 google)

标签 spring-boot azure spring-security azure-active-directory spring-boot-starter-oauth2-client

我有一个使用 Azure Active Directory 进行身份验证的应用程序,我需要添加另一个提供商,例如 google。

@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends AadWebSecurityConfigurerAdapter {

    @Override
    public void configure(HttpSecurity http) throws Exception {
    super.configure(http);
      http.authorizeRequests()
              .anyRequest().authenticated();
    }
}


spring:
  cloud:
    azure:
      active-directory:
        enabled: true
        profile:
          tenant-id: 
#        credential:
          client-id: 
          client-secret: 
  security:
    oauth2:
      client:
        registration:
          google:
            client-id: 
            client-secret: 

使用上面的代码将强制 azure 登录。

如何调整代码以同时具有 azure 和 google 选项?

最佳答案

我没能让它与 spring-cloud-azure-starter-active-directory 一起工作,所以我删除了这个插件并使用:

 spring:
  security:
    oauth2:
      client:
        registration:
          google:
            client-id: 
            client-secret:
          azure:
            client-id: 
            client-secret: 
            scope:
              - openid
              - profile
              - email
            authorization-grant-type: authorization_code
            redirect-uri: http://localhost:8080/login/oauth2/code/azure
            provider: azure-active-directory
        provider:
          azure-active-directory:
            issuer-uri: https://login.microsoftonline.com/{tenant-id}/v2.0

这个例子帮助了我https://github.com/Azure-Samples/azure-spring-boot-samples/blob/spring-cloud-azure_v4.4.1/aad/spring-security/servlet/oauth2/login/src/main/resources/application.yml

关于spring-boot - Spring Boot、带有 azure 的 OAuth2 和另一个提供商(例如 google),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74489661/

相关文章:

.net - Azure Application Insights 未显示整个事件链(在事件驱动的应用程序中),但所有遥测数据都在那里

asp.net-mvc - 权限不足,无法完成使用 Azure Active Directory 图形客户端 API 添加新用户的操作

spring - Selenium 测试 : How to bypass okta in selenium

spring-security - 如何在thymeleaf中组合sec:authorize和th:if

java - tmp下的spring boot spring.log

java - Spring项目无法连接数据库

java - BeanDefinitionStore异常: Unexpected exception parsing XML document from URL

ssl - 别名为 mykey 的 SAML-Key 没有私钥

python - Kubernetes 客户端 python API 错误 401 - 未经授权

java - Spring Security 如何在不登录的情况下更新 userDetails