Bub*_*lik 4 java spring spring-security oauth-2.0 spring-security-oauth2
我正在尝试实现OAuth安全性并遇到一个问题,对我来说配置类不够清晰.
实施时AuthorizationServerConfigurer
我有三个配置器:
ClientDetailsServiceConfigurer
用于提供如何以及从何处获取客户详细信息的方式.例如,它可以是从数据库提供注册客户端的服务.说到了 AuthorizationServerSecurityConfigurer
,AuthorizationServerEndpointsConfigurer
我不确定他们做了什么或者应该如何配置.在文档中它只说:
AuthorizationServerEndpointsConfigurer
:定义授权和令牌端点以及令牌服务.
也许有人可以用简单的词语解释这两个配置器做了什么,或者它们用于什么.
AuthorizationServerConfigurer
javadoc比链接文档更具信息性.AuthorizationServerSecurityConfigurer
顾名思义,它配置授权服务器本身的安全性.例如,您可以覆盖OAuth端点安全性,例如/oauth/token
,提供拒绝访问的处理程序或限制SSL访问.以下是文档中所说的内容:
配置授权服务器的安全性,实际上意味着
/oauth/token
端点.该/oauth/authorize
终端还需要是安全的,但是这是一个正常的面向用户的终端和应该固定方式与UI的其余部分相同,所以这里不讨论.默认设置涵盖了最常见的要求,遵循OAuth2规范的建议,因此您无需在此处执行任何操作即可启动和运行基本服务器.
至于AuthorizationServerEndpointsConfigurer
:
配置Authorization Server端点的非安全功能,如令牌存储,令牌自定义,用户批准和授权类型.默认情况下,您不需要做任何事情,除非您需要密码授予,在这种情况下您需要提供密码
AuthenticationManager
.
以下是我的一个项目的示例:
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints
.authenticationManager(authenticationManager)
.tokenStore(jwtTokenStore())
.tokenEnhancer(tokenEnhancer());
}
Run Code Online (Sandbox Code Playgroud)
在这里,我提供了一个JwtTokenStore
和我一样TokenStore
,AuthenticationManager
因为我使用的是密码授予.
归档时间: |
|
查看次数: |
6997 次 |
最近记录: |