1
0
mirror of synced 2026-08-05 09:47:05 +00:00

Remove Generic Typing From Authentication.Builder

It would be better to introduce parameter types for
principal and credentials into Authentication.Builder
at the same time as doing so for Authentication

Issue gh-17861
This commit is contained in:
Josh Cummings
2025-09-09 09:03:57 -06:00
parent 4744752a1b
commit dd50dc0c40
17 changed files with 47 additions and 38 deletions
@@ -105,7 +105,7 @@ public class OAuth2AuthenticationToken extends AbstractAuthenticationToken {
*
* @since 7.0
*/
public static class Builder<B extends Builder<B>> extends AbstractAuthenticationBuilder<OAuth2User, Object, B> {
public static class Builder<B extends Builder<B>> extends AbstractAuthenticationBuilder<B> {
private OAuth2User principal;
@@ -118,9 +118,9 @@ public class OAuth2AuthenticationToken extends AbstractAuthenticationToken {
}
@Override
public B principal(@Nullable OAuth2User principal) {
Assert.notNull(principal, "principal cannot be null");
this.principal = principal;
public B principal(@Nullable Object principal) {
Assert.isInstanceOf(OAuth2User.class, principal, "principal must be of type OAuth2User");
this.principal = (OAuth2User) principal;
return (B) this;
}
@@ -123,7 +123,7 @@ public abstract class AbstractOAuth2TokenAuthenticationToken<T extends OAuth2Tok
* @since 7.0
*/
public abstract static class AbstractOAuth2TokenAuthenticationBuilder<T extends OAuth2Token, B extends AbstractOAuth2TokenAuthenticationBuilder<T, B>>
extends AbstractAuthenticationBuilder<Object, Object, B> {
extends AbstractAuthenticationBuilder<B> {
private Object principal;