gpt4 book ai didi

spring - 使用 Spring Security 5 OAuth2.0 动态配置客户端注册的范围

转载 作者:行者123 更新时间:2023-12-04 03:57:10 24 4
gpt4 key购买 nike

我想动态更改客户端注册的范围。
我知道如何以这种方式设置注册:

spring:
security:
oauth2:
client:
registration:
custom:
client-id: clientId
client-secret: clientSecret
authorization-grant-type: client_credentials
provider:
custom:
token-uri: http://localhost:8081/oauth/token
如何以编程方式配置它?

最佳答案

您需要提供定制ClientRegistrationRepository bean 角,扁 bean 。在 docs 中有描述.

@Configuration
public class OAuth2LoginConfig {

@Bean
public ClientRegistrationRepository clientRegistrationRepository() {
return new InMemoryClientRegistrationRepository(this.googleClientRegistration());
}

private ClientRegistration googleClientRegistration() {
return ClientRegistration.withRegistrationId("google")
.clientId("google-client-id")
.clientSecret("google-client-secret")
.clientAuthenticationMethod(ClientAuthenticationMethod.BASIC)
.authorizationGrantType(AuthorizationGrantType.AUTHORIZATION_CODE)
.redirectUriTemplate("{baseUrl}/login/oauth2/code/{registrationId}")
.scope("openid", "profile", "email", "address", "phone")
.authorizationUri("https://accounts.google.com/o/oauth2/v2/auth")
.tokenUri("https://www.googleapis.com/oauth2/v4/token")
.userInfoUri("https://www.googleapis.com/oauth2/v3/userinfo")
.userNameAttributeName(IdTokenClaimNames.SUB)
.jwkSetUri("https://www.googleapis.com/oauth2/v3/certs")
.clientName("Google")
.build();
}
}

关于spring - 使用 Spring Security 5 OAuth2.0 动态配置客户端注册的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63679474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com