【发布时间】:2011-06-15 21:46:21
【问题描述】:
我有一个带有自制用户模块的 Web 应用程序。用户存储在 MySQL 数据库中,密码为二进制编码(默认为 sha256,但我们支持其他算法;例如,密码存储为 MD5 字符串)。
到目前为止一切顺利,但现在我们希望将我们的应用程序作为 OpenId 提供者,从我们的用户模块提供帐户。
由于我们使用 Zend 框架,我猜想使用数据库后端(即 OurNamespace_OpenId_Provider_Storage_Db 扩展 Zend_OpenId_Provider_Storage)编写自定义存储适配器应该不会那么难,但是 Zend_OpenId_Provider::login(id, password) 被委托给 Zend_OpenId_Provider_Storage::checkUser(id , md5(id.password))
所以在 OurNamespace_OpenId_Provider_Storage_Db::checkUser() 中,第二个参数(密码)作为 md5 字符串提供,包括我无法在我们自己的用户表中检查的盐 (openid)。密码的存储方式不同...
解决此问题/解决方法的常见/最佳做法是什么?
提前致谢!
// 罗兰
【问题讨论】:
-
您能否分享一些您如何访问 OpenId 提供程序的代码?
标签: php zend-framework openid