2016-02-03 10:20:22 +00:00
/ *
* Copyright 2016 Red Hat , Inc . and / or its affiliates
* and other contributors as indicated by the @author tags .
*
* Licensed under the Apache License , Version 2 . 0 ( the " License " ) ;
* you may not use this file except in compliance with the License .
* You may obtain a copy of the License at
*
* http : //www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing , software
* distributed under the License is distributed on an " AS IS " BASIS ,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
* See the License for the specific language governing permissions and
* limitations under the License .
* /
2015-02-16 16:27:49 +00:00
package org.keycloak.models ;
import java.util.HashMap ;
import java.util.Map ;
/ * *
* Output of credential validation
*
* @author < a href = " mailto:mposolda@redhat.com " > Marek Posolda < / a >
* /
public class CredentialValidationOutput {
private final UserModel authenticatedUser ; // authenticated user.
private final Status authStatus ; // status whether user is authenticated or more steps needed
2015-03-04 19:02:53 +00:00
private final Map < String , String > state ; // Additional state related to authentication. It can contain data to be sent back to client or data about used credentials.
2015-02-16 16:27:49 +00:00
2015-03-04 19:02:53 +00:00
public CredentialValidationOutput ( UserModel authenticatedUser , Status authStatus , Map < String , String > state ) {
2015-02-16 16:27:49 +00:00
this . authenticatedUser = authenticatedUser ;
this . authStatus = authStatus ;
this . state = state ;
}
public static CredentialValidationOutput failed ( ) {
2015-03-04 19:02:53 +00:00
return new CredentialValidationOutput ( null , CredentialValidationOutput . Status . FAILED , new HashMap < String , String > ( ) ) ;
2015-02-16 16:27:49 +00:00
}
public UserModel getAuthenticatedUser ( ) {
return authenticatedUser ;
}
public Status getAuthStatus ( ) {
return authStatus ;
}
2015-03-04 19:02:53 +00:00
public Map < String , String > getState ( ) {
2015-02-16 16:27:49 +00:00
return state ;
}
public CredentialValidationOutput merge ( CredentialValidationOutput that ) {
throw new IllegalStateException ( " Not supported yet " ) ;
}
public static enum Status {
AUTHENTICATED , FAILED , CONTINUE
}
}