|
@@ -14,36 +14,44 @@
|
|
|
* limitations under the License.
|
|
|
*/
|
|
|
|
|
|
-package org.springframework.security.oauth2.server.authorization.jackson;
|
|
|
+package org.springframework.security.jackson;
|
|
|
|
|
|
-import java.util.List;
|
|
|
+import java.util.Collection;
|
|
|
|
|
|
import com.fasterxml.jackson.annotation.JsonAutoDetect;
|
|
|
import com.fasterxml.jackson.annotation.JsonCreator;
|
|
|
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
|
|
|
|
|
-import org.springframework.security.authentication.TestingAuthenticationToken;
|
|
|
import org.springframework.security.core.GrantedAuthority;
|
|
|
|
|
|
/**
|
|
|
- * This mixin class is used to serialize/deserialize {@link TestingAuthenticationToken}.
|
|
|
+ * This is a Jackson mixin class helps in serialize/deserialize
|
|
|
+ * {@link org.springframework.security.authentication.AnonymousAuthenticationToken} class.
|
|
|
*
|
|
|
- * @author Steve Riesenberg
|
|
|
+ * @author Sebastien Deleuze
|
|
|
+ * @author Jitendra Singh
|
|
|
* @since 7.0
|
|
|
- * @see TestingAuthenticationToken
|
|
|
+ * @see CoreJacksonModule
|
|
|
+ * @see SecurityJacksonModules
|
|
|
*/
|
|
|
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS)
|
|
|
-@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, getterVisibility = JsonAutoDetect.Visibility.NONE,
|
|
|
- isGetterVisibility = JsonAutoDetect.Visibility.NONE)
|
|
|
-@JsonIgnoreProperties(value = { "authenticated" }, ignoreUnknown = true)
|
|
|
-public class TestingAuthenticationTokenMixin {
|
|
|
+@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY, isGetterVisibility = JsonAutoDetect.Visibility.NONE,
|
|
|
+ getterVisibility = JsonAutoDetect.Visibility.NONE, creatorVisibility = JsonAutoDetect.Visibility.ANY)
|
|
|
+class TestingAuthenticationTokenMixin {
|
|
|
|
|
|
+ /**
|
|
|
+ * Constructor used by Jackson to create object of
|
|
|
+ * {@link org.springframework.security.authentication.AnonymousAuthenticationToken}.
|
|
|
+ * {@link org.springframework.security.authentication.AnonymousAuthenticationToken#AnonymousAuthenticationToken(String, Object, Collection)}
|
|
|
+ * @param principal the principal (typically a <code>UserDetails</code>)
|
|
|
+ * @param credentials the credentials
|
|
|
+ * @param authorities the authorities granted to the principal
|
|
|
+ */
|
|
|
@JsonCreator
|
|
|
TestingAuthenticationTokenMixin(@JsonProperty("principal") Object principal,
|
|
|
@JsonProperty("credentials") Object credentials,
|
|
|
- @JsonProperty("authorities") List<GrantedAuthority> authorities) {
|
|
|
+ @JsonProperty("authorities") Collection<? extends GrantedAuthority> authorities) {
|
|
|
}
|
|
|
|
|
|
}
|