package com.l7tech.server;

import com.l7tech.identity.AuthenticationException;
import com.l7tech.identity.User;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.credential.LoginCredentials;
import com.l7tech.security.xml.processor.BadSecurityContextException;
import com.l7tech.security.xml.processor.ProcessorException;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.util.InvalidDocumentFormatException;
import java.security.GeneralSecurityException;

public interface TokenService {
   AssertionStatus respondToSecurityTokenRequest(PolicyEnforcementContext var1, TokenService.CredentialsAuthenticator var2, boolean var3, boolean var4) throws InvalidDocumentFormatException, TokenServiceImpl.TokenServiceException, ProcessorException, BadSecurityContextException, GeneralSecurityException, AuthenticationException;

   interface CredentialsAuthenticator {
      User authenticate(LoginCredentials var1) throws AuthenticationException;
   }
}
