Make PublicKeyCredentialRequestOptions Serializable
Closes gh-16432 Signed-off-by: Max Batischev <mblancer@mail.ru>
This commit is contained in:
+4
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* A <a href="https://www.w3.org/TR/webauthn-3/#client-extension-input">client extension
|
||||
* input</a> entry in the {@link AuthenticationExtensionsClientInputs}.
|
||||
@@ -25,7 +27,7 @@ package org.springframework.security.web.webauthn.api;
|
||||
* @since 6.4
|
||||
* @see ImmutableAuthenticationExtensionsClientInput
|
||||
*/
|
||||
public interface AuthenticationExtensionsClientInput<T> {
|
||||
public interface AuthenticationExtensionsClientInput<T> extends Serializable {
|
||||
|
||||
/**
|
||||
* Gets the <a href="https://www.w3.org/TR/webauthn-3/#extension-identifier">extension
|
||||
|
||||
+3
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -31,7 +32,7 @@ import java.util.List;
|
||||
* @since 6.4
|
||||
* @see PublicKeyCredentialCreationOptions#getExtensions()
|
||||
*/
|
||||
public interface AuthenticationExtensionsClientInputs {
|
||||
public interface AuthenticationExtensionsClientInputs extends Serializable {
|
||||
|
||||
/**
|
||||
* Gets all of the {@link AuthenticationExtensionsClientInput}.
|
||||
|
||||
+8
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,9 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <a href=
|
||||
* "https://www.w3.org/TR/webauthn-3/#enumdef-authenticatortransport">AuthenticatorTransport</a>
|
||||
@@ -25,7 +28,10 @@ package org.springframework.security.web.webauthn.api;
|
||||
* @author Rob Winch
|
||||
* @since 6.4
|
||||
*/
|
||||
public final class AuthenticatorTransport {
|
||||
public final class AuthenticatorTransport implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -5617945441117386982L;
|
||||
|
||||
/**
|
||||
* <a href="https://www.w3.org/TR/webauthn-3/#dom-authenticatortransport-usb">usbc</a>
|
||||
|
||||
+11
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,9 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Implements <a href=
|
||||
* "https://fidoalliance.org/specs/fido-v2.2-rd-20230321/fido-client-to-authenticator-protocol-v2.2-rd-20230321.html#sctn-credProtect-extension">
|
||||
@@ -27,6 +30,9 @@ package org.springframework.security.web.webauthn.api;
|
||||
public class CredProtectAuthenticationExtensionsClientInput
|
||||
implements AuthenticationExtensionsClientInput<CredProtectAuthenticationExtensionsClientInput.CredProtect> {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -6418175591005843455L;
|
||||
|
||||
private final CredProtect input;
|
||||
|
||||
public CredProtectAuthenticationExtensionsClientInput(CredProtect input) {
|
||||
@@ -43,7 +49,10 @@ public class CredProtectAuthenticationExtensionsClientInput
|
||||
return this.input;
|
||||
}
|
||||
|
||||
public static class CredProtect {
|
||||
public static class CredProtect implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 109597301115842688L;
|
||||
|
||||
private final ProtectionPolicy credProtectionPolicy;
|
||||
|
||||
|
||||
+6
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* An immutable {@link AuthenticationExtensionsClientInput}.
|
||||
*
|
||||
@@ -26,6 +28,9 @@ package org.springframework.security.web.webauthn.api;
|
||||
*/
|
||||
public class ImmutableAuthenticationExtensionsClientInput<T> implements AuthenticationExtensionsClientInput<T> {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -1738152485672656808L;
|
||||
|
||||
/**
|
||||
* https://www.w3.org/TR/webauthn-3/#sctn-authenticator-credential-properties-extension
|
||||
*/
|
||||
|
||||
+5
-1
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -27,6 +28,9 @@ import java.util.List;
|
||||
*/
|
||||
public class ImmutableAuthenticationExtensionsClientInputs implements AuthenticationExtensionsClientInputs {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 4277817521578485720L;
|
||||
|
||||
private final List<AuthenticationExtensionsClientInput> inputs;
|
||||
|
||||
public ImmutableAuthenticationExtensionsClientInputs(List<AuthenticationExtensionsClientInput> inputs) {
|
||||
|
||||
+7
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
@@ -29,7 +31,10 @@ import java.util.Set;
|
||||
* @author Rob Winch
|
||||
* @since 6.4
|
||||
*/
|
||||
public final class PublicKeyCredentialDescriptor {
|
||||
public final class PublicKeyCredentialDescriptor implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 8793385059692676240L;
|
||||
|
||||
private final PublicKeyCredentialType type;
|
||||
|
||||
|
||||
+7
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,8 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -32,7 +34,10 @@ import org.springframework.util.Assert;
|
||||
* @author Rob Winch
|
||||
* @since 6.4
|
||||
*/
|
||||
public final class PublicKeyCredentialRequestOptions {
|
||||
public final class PublicKeyCredentialRequestOptions implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -2970057592835694354L;
|
||||
|
||||
private final Bytes challenge;
|
||||
|
||||
|
||||
+8
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,9 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* The <a href=
|
||||
* "https://www.w3.org/TR/webauthn-3/#enum-credentialType">PublicKeyCredentialType</a>
|
||||
@@ -24,7 +27,10 @@ package org.springframework.security.web.webauthn.api;
|
||||
* @author Rob Winch
|
||||
* @since 6.4
|
||||
*/
|
||||
public final class PublicKeyCredentialType {
|
||||
public final class PublicKeyCredentialType implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 7025333122210061679L;
|
||||
|
||||
/**
|
||||
* The only credential type that currently exists.
|
||||
|
||||
+8
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2024 the original author or authors.
|
||||
* Copyright 2002-2025 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,9 @@
|
||||
|
||||
package org.springframework.security.web.webauthn.api;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* <a href=
|
||||
* "https://www.w3.org/TR/webauthn-3/#enumdef-userverificationrequirement">UserVerificationRequirement</a>
|
||||
@@ -24,7 +27,10 @@ package org.springframework.security.web.webauthn.api;
|
||||
* @author Rob Winch
|
||||
* @since 6.4
|
||||
*/
|
||||
public final class UserVerificationRequirement {
|
||||
public final class UserVerificationRequirement implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = -2801001231345540040L;
|
||||
|
||||
/**
|
||||
* The <a href=
|
||||
|
||||
Reference in New Issue
Block a user