/** Check v1 SSO requests. * "pure" function. */ function wats4u_sso_v1_check($return_url, $challenge, $pass, $shared_key, $valid_return_url_prefix) { if (strlen($challenge) < WATS4U_MINIMUM_CHALLENGE_LENGTH) { return false; } $expected = md5($challenge . $shared_key); if (!secure_string_compare($expected, $pass)) { return false; } $return_url_prefix = substr($return_url, 0, strlen($valid_return_url_prefix)); if (strcmp($return_url_prefix, $valid_return_url_prefix) !== 0) { return false; } return true; }
/** Check v1 SSO requests. * "pure" function. */ function wats4u_sso_v1_check($return_url, $challenge, $pass, $shared_key, $valid_return_url_regex) { if (strlen($challenge) < WATS4U_MINIMUM_CHALLENGE_LENGTH) { return false; } $expected = md5($challenge . $shared_key); if (!secure_string_compare($expected, $pass)) { return false; } if (!preg_match($valid_return_url_regex, $return_url)) { return false; } return true; }