Blackbaud单点登录PHP到ColdFusion的转换-我做对了吗?

Blackbaud单点登录PHP到ColdFusion的转换-我做对了吗?,php,jquery,coldfusion,jsonp,code-conversion,Php,Jquery,Coldfusion,Jsonp,Code Conversion,我正试图使用他们发给我的Blackbaud文档实现单点登录(SSO)。我的客户机使用ColdFusion,但Blackbaud的示例都是用PHP或C+编写的。PHP更具可读性(我自己),因此我选择转换以下代码: <?php /* make_sso_url * $sharedkey = the key that is specified in Sites & settings * $username = the Blackbaud NetCommunity username to l

我正试图使用他们发给我的Blackbaud文档实现单点登录(SSO)。我的客户机使用ColdFusion,但Blackbaud的示例都是用PHP或C+编写的。PHP更具可读性(我自己),因此我选择转换以下代码:

<?php
/* make_sso_url
* $sharedkey = the key that is specified in Sites & settings
* $username = the Blackbaud NetCommunity username to log in with
* $url = the URL of the page with the User Login part that users should be directed to
* $ip = the IP address the user should be from
* $includeip = whether or not to include ip address in the hash
*/
function make_sso_url($sharedkey,$username,$url,$ip){
    $time = time();
    $hashString = $sharedkey.$username.$time;
    return $url."&t=".$time."&u=".$username."&m=".md5($hashString);
}
?>


在我深入讨论这个过程之前,这看起来只是一个使用PHP变量的ajax调用。如果是这样的话,那么我就可以使用ColdFusion变量,构建URL字符串,使用jQuery JSONP进行域/ajax调用,从Blackbaud的系统中获得我需要的东西,我就成功了。我遗漏了什么吗?

p.S.我仍在为这个客户创建估算,所以可以说我没有在纸上写任何代码,只是计算出实现过程所需的时间估算。这与Ajax无关。这将获取一个URL并附加一个Get字符串,该字符串包含时间、用户名以及密钥、用户名和时间的MD5(假定是为了让另一方能够验证时间和用户名是否伪造)。请注意,未使用IP。必须是一个计划或放弃的安全想法。kainaw-缺乏IP是我的复制和粘贴错误-感谢您指出这一点。假设Blackbaud支持JSON结果,为什么不能使用ajax?ajax在客户端的JavaScript中使用。这是服务器端的PHP。没有理由不能对PHP脚本进行Ajax调用——这是通常的做法。但是,您不能在客户端上运行PHP代码。您是否可能混淆了Ajax和cURL?这段代码可能是用来构建一个URL,以便在cURL请求中使用。根据提供的文档(第5页,共页),我不认为这是一个cURL请求。我今天晚上给Blackbaud发了电子邮件,所以明天晚上我可能会收到回音,可以在这里提供更多反馈。