org.openid4java.message.VerifyResponse Maven / Gradle / Ivy
The newest version!
/*
* 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 VerifyResponse extends Message
{
private static Log _log = LogFactory.getLog(VerifyResponse.class);
private static final boolean DEBUG = _log.isDebugEnabled();
protected final static List requiredFields = Arrays.asList(new String[] {
"is_valid"
});
protected final static List optionalFields = Arrays.asList(new String[] {
"ns",
"invalidate_handle"
});
protected VerifyResponse(boolean compatibility)
{
setSignatureVerified(false);
if (! compatibility)
set("ns", OPENID2_NS);
}
protected VerifyResponse(ParameterList params)
{
super(params);
}
public static VerifyResponse createVerifyResponse(boolean compatibility)
throws MessageException
{
VerifyResponse resp = new VerifyResponse(compatibility);
resp.validate();
if (DEBUG) _log.debug("Created verification response:\n"
+ resp.keyValueFormEncoding());
return resp;
}
public static VerifyResponse createVerifyResponse(ParameterList params)
throws MessageException
{
VerifyResponse resp = new VerifyResponse(params);
resp.validate();
if (DEBUG) _log.debug("Created verification response:\n"
+ resp.keyValueFormEncoding());
return resp;
}
public List getRequiredFields()
{
return requiredFields;
}
public boolean isVersion2()
{
return hasParameter("ns") && OPENID2_NS.equals(getParameterValue("ns"));
}
public void setSignatureVerified(boolean verified)
{
if (DEBUG)
_log.debug("Setting is_valid to: " + verified);
set("is_valid", verified ? "true" : "false");
}
public boolean isSignatureVerified()
{
return "true".equals(getParameterValue("is_valid"));
}
public void setInvalidateHandle(String handle)
{
set("invalidate_handle", handle);
}
public String getInvalidateHandle()
{
return getParameterValue("invalidate_handle");
}
public void validate() throws MessageException
{
super.validate();
if (! "true".equals(getParameterValue("is_valid")) &&
! "false".equals(getParameterValue("is_valid")) )
{
throw new MessageException(
"Invalid is_valid value in verification response: "
+ getParameterValue("is_valid"),
OpenIDException.VERIFY_ERROR);
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy