0

我正在创建一个门户网站,用户可以从我们的 Zimbra 邮件服务器中提取他们的电子邮件并显示在门户网站上,但是,我在使用 Zimbra Preauth 时遇到了一些奇怪的问题。本质上,preauth 在我的 LocalHost 上完美运行,但是当从实时服务器访问时,它会给出 HTTP 500 错误。我怀疑这是与构成 preauth url 一部分的时间戳有关的问题。“访问 /service/preauth 时出现问题。原因:对于输入字符串:“1.365843887E 12”我用于生成 preauth URL 的代码如下所示:

            $PREAUTH_KEY = [My Key];
            $WEB_MAIL_PREAUTH_URL = "http://myserver/service/preauth";

            $timestamp=time()*1000;

            $preauthToken = hash_hmac("sha1",$email."|name|0|".$timestamp,$PREAUTH_KEY);
            $preauthURL = $WEB_MAIL_PREAUTH_URL."?account=".$email."&by=name&timestamp=".$timestamp."&expires=0&preauth=".$preauthToken."&redirectURL=/zimbra/h/";

$timestamp通过将“错误”值分配给上面的变量,我能够在我的 LocalHost 开发机器上重新创建问题。那么,在实时服务器上工作时可能导致 Zimbra 预授权“中断”的可能原因是什么?谢谢。

4

0 回答 0