现在我有了这个配置:
spring:
security:
oauth2:
client:
registration:
sbbol:
client-id: zdcffffff
client-secret: ffffffffff
scope:
- openid
client-authentication-method: post
authorization-grant-type: authorization_code
redirect-uri: '{baseUrl}/login/oauth2/code/{registrationId}'
client-authentication-scheme: form
provider:
sbbol:
authorization-uri: ${SBBOL_AUTH_URI}
token-uri: ${SBBOL_AUTH_URI}
user-info-uri: ${SBBOL_AUTH_URI}
user-name-attribute: sub
@Configuration
public class WebSecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.httpBasic().disable();
http.cors().disable();
http.csrf().disable();
http.requestMatchers()
.antMatchers("/login", "/oauth2/authorization/sbbol", "/login/oauth2/code/sbbol")
.and()
.authorizeRequests().anyRequest().authenticated();
http.oauth2Login()
.defaultSuccessUrl("/user")
.permitAll();
}
}
这是可行的,但是我的提供者要求我每30天通过restapi调用更改一次客户机机密。我有一个问题,如何在spring security中设置新的客户机机密?也许我可以把配置存储在数据库里?
2条答案
按热度按时间jdgnovmf1#
我有这个可能是工作,它不是动态的,但你可以工作
nle07wnf2#
我为org.springframework.security.oauth2.client.registration.clientregistrationrepository创建了自己的实现。我可以将设置存储在数据库中并进行更改。
我的实体
存储库