spring-security之Spring Security Oauth2 客户端ClientAuthenticationProcessingFilter
我正在开发 spring-security-oauth2-1.0.3.RELEASE,尝试设置一个 oauth 客户端来让用户通过 google 进行身份验证。
我在这上面花了一段时间,但仍然没有找到太多解释清楚的好文章。
我正在做的是像这样将 OAuth2ClientAuthenticationProcessingFilter 放入过滤器链中:
<http xmlns="http://www.springframework.org/schema/security"
use-expressions="true" pattern="/oauth.html" auto-config="true">
<sec:intercept-url pattern="/**" access="isFullyAuthenticated()" />
<custom-filter ref="oauth2ClientFilter" position="CAS_FILTER" />
<sec:custom-filter ref="googleAuthFilter" after="CAS_FILTER" />
</http>
自定义过滤器:googleAuthFilter 用于保护我的 URL。
阅读OAuth2ClientAuthenticationProcessingFilter源码,需要引用
- OAuth2RestOperations(rest template)引用Oauth服务器资源(google信息)
- ResourceServerTokenServices(来自 Spring-security-oauth 库提供程序包)。
现在我很困惑。 Spring-security-oauth 分为两部分:客户端和提供者。
既然我只是设置一个 Oauth 客户端,为什么我需要从 Oauth 提供程序包中引用一个类?
另外,我应该如何设置 ResourceServerTokenServices?现在我正在尝试使用默认的实现。因为 DefaultTokenServices 再次需要引用
- token 库
- ClientDetailsService
- token 增强器
到目前为止,我尝试了所有默认实现:
- TokenStore: InMemoryTokenStore
- ClientDetailsService: InMemoryClientDetailsService
- TokenEnhancer:TokenEnhancerChain
它似乎不起作用......
谢谢!
请您参考如下方法:
我想我可能会写点什么。但是您使用的版本很旧,最新版本的 Spring Security OAuth2 非常易于使用并且应用广泛 - 许多文档。让我们搜索一下 :D
http://jhasaket.blogspot.com/2014/09/securing-spring-mvc-application-using.html
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。