static function fromMessage($message, $server = null)
{
$required_keys = array('assoc_handle', 'sig', 'signed');
foreach ($required_keys as $k) {
if (!$message->getArg(Auth_OpenID_OPENID_NS, $k)) {
return new Auth_OpenID_ServerError($message, sprintf("%s request missing required parameter %s from \\\n query", "check_authentication", $k));
}
}
$assoc_handle = $message->getArg(Auth_OpenID_OPENID_NS, 'assoc_handle');
$sig = $message->getArg(Auth_OpenID_OPENID_NS, 'sig');
$signed_list = $message->getArg(Auth_OpenID_OPENID_NS, 'signed');
$signed_list = explode(",", $signed_list);
$signed = $message;
if ($signed->hasKey(Auth_OpenID_OPENID_NS, 'mode')) {
$signed->setArg(Auth_OpenID_OPENID_NS, 'mode', 'id_res');
}
$result = new Auth_OpenID_CheckAuthRequest($assoc_handle, $signed);
$result->message = $message;
$result->sig = $sig;
$result->invalidate_handle = $message->getArg(Auth_OpenID_OPENID_NS, 'invalidate_handle');
return $result;
}