1
0
mirror of synced 2026-05-23 13:53:17 +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
@@ -85,19 +85,20 @@ public class WebAuthnAuthentication extends AbstractAuthenticationToken {
*
* @since 7.0
*/
public static final class Builder<B extends Builder<B>>
extends AbstractAuthenticationBuilder<PublicKeyCredentialUserEntity, Object, B> {
public static final class Builder<B extends Builder<B>> extends AbstractAuthenticationBuilder<B> {
private PublicKeyCredentialUserEntity principal;
private Builder(WebAuthnAuthentication token) {
super(token);
this.principal = token.principal;
}
@Override
public B principal(@Nullable PublicKeyCredentialUserEntity principal) {
Assert.notNull(principal, "principal cannot be null");
this.principal = principal;
public B principal(@Nullable Object principal) {
Assert.isInstanceOf(PublicKeyCredentialUserEntity.class, principal,
"principal must be of type PublicKeyCredentialUserEntity");
this.principal = (PublicKeyCredentialUserEntity) principal;
return (B) this;
}