// Path: mujina-idp/src/main/java/mujina/idp/FederatedUserAuthenticationToken.java
// @Getter
// @Setter
// public class FederatedUserAuthenticationToken extends UsernamePasswordAuthenticationToken {
// 
//   private Map<String, List<String>> attributes = new TreeMap<>();
// 
//   public FederatedUserAuthenticationToken(Object principal, Object credentials, Collection<? extends GrantedAuthority> authorities) {
//     super(principal, credentials, authorities);
//   }
// 
//   public FederatedUserAuthenticationToken clone() {
//     FederatedUserAuthenticationToken clone = new FederatedUserAuthenticationToken(getPrincipal(), getCredentials(), getAuthorities());
//     clone.setAttributes(attributes);
//     return clone;
//   }
// }


import lombok.Getter;
import lombok.Setter;
import mujina.idp.FederatedUserAuthenticationToken;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.saml.key.JKSKeyManager;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
package mujina.api;



@Getter
@Setter
@Component
public class IdpConfiguration extends SharedConfiguration {

  private String defaultEntityId;
  private Map<String, List<String>> attributes = new TreeMap<>();
// Path: mujina-idp/src/main/java/mujina/idp/FederatedUserAuthenticationToken.java
// @Getter
// @Setter
// public class FederatedUserAuthenticationToken extends UsernamePasswordAuthenticationToken {
// 
//   private Map<String, List<String>> attributes = new TreeMap<>();
// 
//   public FederatedUserAuthenticationToken(Object principal, Object credentials, Collection<? extends GrantedAuthority> authorities) {
//     super(principal, credentials, authorities);
//   }
// 
//   public FederatedUserAuthenticationToken clone() {
//     FederatedUserAuthenticationToken clone = new FederatedUserAuthenticationToken(getPrincipal(), getCredentials(), getAuthorities());
//     clone.setAttributes(attributes);
//     return clone;
//   }
// }


// Path: mujina-idp/src/main/java/mujina/api/IdpConfiguration.java
import lombok.Getter;
import lombok.Setter;
import mujina.idp.FederatedUserAuthenticationToken;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.saml.key.JKSKeyManager;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;

package mujina.api;



@Getter
@Setter
@Component
public class IdpConfiguration extends SharedConfiguration {

  private String defaultEntityId;
  private Map<String, List<String>> attributes = new TreeMap<>();
  private List<FederatedUserAuthenticationToken> users = new ArrayList<>();