繁体   English   中英

Spring Boot Security 中 OAuth2Client 中的 SSO

[英]SSO in OAuth2Client in Spring Boot Security

我一直在阅读有关 Spring Security 中的 OAuth2 集成以及如何通过第三方身份提供者(例如 Google)实现身份验证/授权。

我使用@EnableOauth2Sso注释实现了 SSO 登录,并将以下内容添加到我的application.properties

security:
  oauth2:
    client:
      clientId: 8d...f5e
      clientSecret: 2d...1b
      accessTokenUri: https://sso.domain.com/oauth/token
      userAuthorizationUri: https://sso.domain.com/oauth/authorize
      scope: openid
    resource:
      userInfoUri: https://sso.domain.com/userinfo

这看起来太神奇了,我不知道引擎盖下发生了什么。 按照 Spring 官方网站上的 OAuth2 客户端手动配置指南,我看到它切换到@EnableOauth2Client而不是@EnableOauth2Sso ,它说:

首先,我们可以注入 OAuth2ClientContext 并使用它来构建我们添加到安全配置中的身份验证过滤器

什么是OAuth2ClientContext 我查看了官方API 文档,它只是说它是一个接口,但仍然不确定它到底是什么以及它是如何使用的。

我是否遗漏了什么或官方文件不够? 我仍然无法掌握 OAuth2ClientContext、OAuth2ClientAuthenticationProcessingFilter 和 OAuth2RestTemplate 如何协同工作以通过 SSO 在 Spring 中执行身份验证。

请指出任何正确的文档部分,以掌握基本知识。 提前致谢。

这是一个随时可以运行的示例 它根据授权服务器对客户端进行身份验证,还从资源服务器访问受保护的资源。

我仍在努力记录源代码并完成自述文件。 如果您有任何疑问,请随时问我。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM