我刚刚在一个网站上实现了oauth并且它工作得很好,但是当人们登录临时文件时似乎已经创建了。 WHM不断给我发电子邮件告诉我这个问题:
Time: Thu Dec 15 10:50:52 2011 +0000
File: /tmp/root/openid/consumer/assoc_handle_ecde01da0a6bbfaed7f04379150d3c9f
Reason: Suspicious symlink (->/tmp/root/openid/consumer/assoc_url_988e35039cce1819e501ae6e1217c786)
Owner: X:X (513:509)
Action: No action taken
现在,很明显这是一个临时文件。但有两个问题:
oauth由Zend Framework的库
处理答案 0 :(得分:1)
这是临时文件背后的原因,这是来自Zend OpenID Introduction:
OpenID使用者与之建立可选的关联 提供者使用Diffie-Hellman密钥。结果,双方都有了 共同的“共享秘密”,用于签名和验证 随后的消息。
因为它是可选的,你可以通过将true作为第二个参数传递给Zend_OpenId_Consumer来禁用它,将其置于“哑模式”中:
$consumer = new Zend_OpenId_Consumer(null, true);
以下是哑模式的注意事项:
OpenID身份验证支持“智能模式”和“哑模式”,以适应不同功能的消费者。智能消费者在开始时会做更多的工作以便以后保存自己的工作,但需要本地缓存状态信息。一个愚蠢的消费者是完全无状态的,但需要额外的HTTP请求。 Source
您也可以控制缓存文件的位置,以避免发出警告。
$path = '/home/you/zend/application/data'; // dir to store associations
$authStorage = new Zend_OpenId_Consumer_Storage_File($path);
$consumer = new Zend_OpenId_Consumer($authStorage);