/** * Copyright (c) 2013-2016, The SeedStack authors <http://seedstack.org> * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.seedstack.seed.security; import org.seedstack.seed.security.principals.PrincipalProvider; import org.seedstack.seed.security.principals.Principals; import java.util.ArrayList; import java.util.Collection; /** * Information about an authentication : the principals and credentials. */ public class AuthenticationInfo { private PrincipalProvider<?> identityPrincipal; private Collection<PrincipalProvider<?>> otherPrincipals = new ArrayList<>(); private Object credentials; /** * Constructor using Principal as identity principal. * * @param identityPrincipal * identityPrincipal * @param credentials * credentials */ public AuthenticationInfo(PrincipalProvider<?> identityPrincipal, Object credentials) { this.identityPrincipal = identityPrincipal; this.credentials = credentials; } /** * Constructor using String. Creates a SimplePrincipal with the id. * * @param id * id * @param credentials * credentials */ public AuthenticationInfo(String id, Object credentials) { this.identityPrincipal = Principals.identityPrincipal(id); this.credentials = credentials; } /** * Getter identityPrincipal * * @return the identityPrincipal */ public PrincipalProvider<?> getIdentityPrincipal() { return identityPrincipal; } /** * Getter otherPrincipals * * @return the otherPrincipals */ public Collection<PrincipalProvider<?>> getOtherPrincipals() { return otherPrincipals; } /** * Getter credentials * * @return the credentials */ public Object getCredentials() { return credentials; } }