| package com.mzl.flower.config.security.token; | 
|   | 
| import org.springframework.security.authentication.AbstractAuthenticationToken; | 
| import org.springframework.security.core.GrantedAuthority; | 
|   | 
| import java.util.Collection; | 
|   | 
| public class PhoneAuthenticationToken extends AbstractAuthenticationToken { | 
|     private static final long serialVersionUID = 110L; | 
|     private final Object principal; | 
|     private Object credentials; | 
|     private String userType; | 
|   | 
|     public PhoneAuthenticationToken(Object principal, Object credentials, String userType) { | 
|         super((Collection)null); | 
|         this.principal = principal; | 
|         this.credentials = credentials; | 
|         this.userType = userType; | 
|         this.setAuthenticated(false); | 
|     } | 
|   | 
|     public PhoneAuthenticationToken(Object principal, Object credentials, Collection<? extends GrantedAuthority> authorities) { | 
|         super(authorities); | 
|         this.principal = principal; | 
|         this.credentials = credentials; | 
|         super.setAuthenticated(true); | 
|     } | 
|   | 
|     public Object getCredentials() { | 
|         return this.credentials; | 
|     } | 
|   | 
|     public Object getPrincipal() { | 
|         return this.principal; | 
|     } | 
|   | 
|     public String getUserType() { | 
|         return this.userType; | 
|     } | 
|   | 
|     public void setAuthenticated(boolean isAuthenticated) throws IllegalArgumentException { | 
|         if (isAuthenticated) { | 
|             throw new IllegalArgumentException("Cannot set this token to trusted - use constructor which takes a GrantedAuthority list instead"); | 
|         } else { | 
|             super.setAuthenticated(false); | 
|         } | 
|     } | 
|   | 
|     public void eraseCredentials() { | 
|         super.eraseCredentials(); | 
|         this.credentials = null; | 
|     } | 
| } |