org.openid4java.message.AuthFailure Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of openid4java-shaded Show documentation
Show all versions of openid4java-shaded Show documentation
openid4java (Third party dependencies shaded)
/*
* Copyright 2006-2008 Sxip Identity Corporation
*/
package org.openid4java.message;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.openid4java.OpenIDException;
import java.util.List;
import java.util.Arrays;
/**
* @author Marius Scurtescu, Johnny Bufu
*/
public class AuthFailure extends Message
{
private static Log _log = LogFactory.getLog(AuthFailure.class);
private static final boolean DEBUG = _log.isDebugEnabled();
protected final static List requiredFields = Arrays.asList( new String[] {
"openid.mode"
});
protected final static List optionalFields = Arrays.asList( new String[] {
"openid.ns"
});
public AuthFailure(boolean compatibility, String returnTo)
{
set("openid.mode", MODE_CANCEL);
if (! compatibility)
set("openid.ns", OPENID2_NS);
_destinationUrl = returnTo;
}
protected AuthFailure(ParameterList params)
{
super(params);
}
public static AuthFailure createAuthFailure(ParameterList params) throws
MessageException
{
AuthFailure fail = new AuthFailure(params);
fail.validate();
if (DEBUG)
_log.debug("Retrieved auth failure from message parameters:\n"
+ fail.keyValueFormEncoding());
return fail;
}
public List getRequiredFields()
{
return requiredFields;
}
public boolean isVersion2()
{
return hasParameter("openid.ns") &&
OPENID2_NS.equals(getParameterValue("openid.ns"));
}
public void validate() throws MessageException
{
super.validate();
String mode = getParameterValue("openid.mode");
if (! MODE_CANCEL.equals(mode))
throw new MessageException(
"Invalid openid.mode; expected " +
MODE_CANCEL + " found: " + mode,
OpenIDException.AUTH_ERROR);
}
}