org.openid4java.message.VerifyRequest 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;
/**
* VerifyRequest is a AuthSuccess with the openid.mode
* switched to check_authentication.
*
* @author Marius Scurtescu, Johnny Bufu
*/
public class VerifyRequest extends AuthSuccess
{
private static Log _log = LogFactory.getLog(VerifyRequest.class);
private static final boolean DEBUG = _log.isDebugEnabled();
public static final String MODE_CHKAUTH = "check_authentication";
protected VerifyRequest(AuthSuccess authResp)
{
super(convertAuthSuccessParams(authResp));
}
private static ParameterList convertAuthSuccessParams(AuthSuccess authResp)
{
ParameterList params = new ParameterList(authResp.getParameterMap());
params.set(new Parameter("openid.mode", MODE_CHKAUTH));
return params;
}
protected VerifyRequest(ParameterList params)
{
super(params);
}
public static VerifyRequest createVerifyRequest(AuthSuccess authResp)
throws MessageException
{
VerifyRequest req = new VerifyRequest(authResp);
req.validate();
if (DEBUG) _log.debug("Created verification request " +
"from a positive auth response:\n" + req.keyValueFormEncoding());
return req;
}
public static VerifyRequest createVerifyRequest(ParameterList params)
throws MessageException
{
VerifyRequest req = new VerifyRequest(params);
req.validate();
if (DEBUG) _log.debug("Created verification request:\n"
+ req.keyValueFormEncoding());
return req;
}
public String getHandle()
{
return getParameterValue("openid.assoc_handle");
}
public String getInvalidateHandle()
{
return getParameterValue("openid.invalidate_handle");
}
public void validate() throws MessageException
{
if (! MODE_CHKAUTH.equals(getParameterValue("openid.mode")))
{
throw new MessageException(
"Invalid openid.mode in verification request: "
+ getParameterValue("openid.mode"),
OpenIDException.VERIFY_ERROR);
}
set("openid.mode", MODE_IDRES);
if (DEBUG) _log.debug("Delegating verification request validity check " +
"to auth response...");
super.validate();
set("openid.mode", MODE_CHKAUTH);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy