spring-security-oauth2-authorization-server 如何使用 JdbcRegisteredClientRepository
时间: 2024-03-16 19:46:38 浏览: 15
要在spring-security-oauth2-authorization-server中使用JdbcRegisteredClientRepository,需要进行以下步骤:
1. 配置数据源
在Spring配置文件中配置数据源,例如:
```xml
<bean id="dataSource" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/mydb" />
<property name="username" value="root" />
<property name="password" value="password" />
</bean>
```
2. 配置JdbcRegisteredClientRepository
在Spring配置文件中配置JdbcRegisteredClientRepository,例如:
```xml
<bean id="registeredClientRepository" class="org.springframework.security.oauth2.server.registration.JdbcRegisteredClientRepository">
<constructor-arg ref="dataSource" />
<property name="oauth2RegisteredClientRowMapper">
<bean class="org.springframework.security.oauth2.server.registration.JdbcRegisteredClientRowMapper" />
</property>
</bean>
```
其中,JdbcRegisteredClientRepository的构造方法需要传入数据源,JdbcRegisteredClientRowMapper用于将数据库中的数据映射到RegisteredClient对象中。
3. 配置AuthorizationServerEndpointsConfigurer
在AuthorizationServerEndpointsConfigurer中配置JdbcRegisteredClientRepository,例如:
```java
@Autowired
private DataSource dataSource;
@Autowired
private RegisteredClientRepository registeredClientRepository;
@Override
public void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {
endpoints
.registeredClientRepository(registeredClientRepository)
// ... other configurations
.tokenStore(tokenStore())
.accessTokenConverter(accessTokenConverter())
.authenticationManager(authenticationManager);
}
```
这样,授权服务器就可以使用JdbcRegisteredClientRepository来管理客户端信息了。