Merge pull request #11647 from cbecker/oauth2-custom-add-none-auth-method
Custom OAuth 2.0: Add NONE auth method needed for some auth servers like Django
This commit is contained in:
commit
a58f3aed65
@ -43,6 +43,15 @@ public class HybridClientRegistrationRepository implements ClientRegistrationRep
|
|||||||
|
|
||||||
private ClientRegistration toSpringClientRegistration(OAuth2Client oAuth2Client){
|
private ClientRegistration toSpringClientRegistration(OAuth2Client oAuth2Client){
|
||||||
String registrationId = oAuth2Client.getUuidId().toString();
|
String registrationId = oAuth2Client.getUuidId().toString();
|
||||||
|
|
||||||
|
// NONE is used if we need pkce-based code challenge
|
||||||
|
ClientAuthenticationMethod authMethod = ClientAuthenticationMethod.NONE;
|
||||||
|
if (oAuth2Client.getClientAuthenticationMethod().equals("POST")) {
|
||||||
|
authMethod = ClientAuthenticationMethod.CLIENT_SECRET_POST;
|
||||||
|
} else if (oAuth2Client.getClientAuthenticationMethod().equals("BASIC")) {
|
||||||
|
authMethod = ClientAuthenticationMethod.CLIENT_SECRET_BASIC;
|
||||||
|
}
|
||||||
|
|
||||||
return ClientRegistration.withRegistrationId(registrationId)
|
return ClientRegistration.withRegistrationId(registrationId)
|
||||||
.clientName(oAuth2Client.getName())
|
.clientName(oAuth2Client.getName())
|
||||||
.clientId(oAuth2Client.getClientId())
|
.clientId(oAuth2Client.getClientId())
|
||||||
@ -54,8 +63,7 @@ public class HybridClientRegistrationRepository implements ClientRegistrationRep
|
|||||||
.userInfoUri(oAuth2Client.getUserInfoUri())
|
.userInfoUri(oAuth2Client.getUserInfoUri())
|
||||||
.userNameAttributeName(oAuth2Client.getUserNameAttributeName())
|
.userNameAttributeName(oAuth2Client.getUserNameAttributeName())
|
||||||
.jwkSetUri(oAuth2Client.getJwkSetUri())
|
.jwkSetUri(oAuth2Client.getJwkSetUri())
|
||||||
.clientAuthenticationMethod(oAuth2Client.getClientAuthenticationMethod().equals("POST") ?
|
.clientAuthenticationMethod(authMethod)
|
||||||
ClientAuthenticationMethod.CLIENT_SECRET_POST : ClientAuthenticationMethod.CLIENT_SECRET_BASIC)
|
|
||||||
.redirectUri(defaultRedirectUriTemplate)
|
.redirectUri(defaultRedirectUriTemplate)
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,6 +68,7 @@ export interface OAuth2RegistrationInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export enum ClientAuthenticationMethod {
|
export enum ClientAuthenticationMethod {
|
||||||
|
NONE = 'NONE',
|
||||||
BASIC = 'BASIC',
|
BASIC = 'BASIC',
|
||||||
POST = 'POST'
|
POST = 'POST'
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user