登录系统具有一个身份但多个openid - 是否有意义?如何在ZF中实施?

时间:2011-08-02 16:02:49

标签: php zend-framework openid zend-auth

我最近经常看到你可以为用户身份分配多个openid。

  • a)这有意义实现,还是只为一个配置文件分配一个OpenID?
  • b)如何在Zend Framework MVC环境中实现这一点。你有代码示例/教程吗?
到目前为止

我的想法:

我在asp.net找到了类似的东西:http://www.west-wind.com/weblog/posts/2009/Sep/17/Integrating-OpenID-in-an-ASPNET-MVC-Application-using-DotNetOpenAuth

  • 数据库模型:用户配置文件表和第二个分配给用户(MySQL)的openid表。
  • 登录Prozess:
  • 一个。使用Zend_Auth_Adapter_OpenId +登录(从OpenId获取新用户的配置文件信息)
  • 湾检查用户是否存在。如果没有,请从OpenId配置文件创建用户并将用户重定向到配置文件屏幕以确认用户信息
  • ℃。如果用户存在,请确认openid并从数据库中获取用户配置文件。
  • d。保护Zend_Auth模型中的所有信息和业务逻辑,可以在整个应用程序中轻松访问

由于我没有Zend的经验,我会非常感谢有关如何扩展zend auth控制器以满足这种需求的提示?如果有人可以提供一些代码示例或教程,那就更多了。

谢谢!

1 个答案:

答案 0 :(得分:1)

  

这是有意义的实现还是只为一个配置文件分配一个OpenID?

您需要记住OpenId是分布式的,这意味着您无法控制登录服务。当用户的主要OpenID提供程序出现停机时,用户无法登录您的应用程序 - 尽管您的服务器运行正常。

让用户提供多个OpenIds可以让他们最大程度地降低无法访问您的应用程序的风险。


我一直在为我的宠物项目SemanticScuttle考虑同样的问题,我肯定会为一个用户实现几个OpenIds。