我在一个项目中使用 Zend Framework,并且我正在创建一个仅用于身份验证的 Controller 。 在这个项目中,我们将接受用户通过其他站点(如 facebook、twitter、myspace 等)的帐户注册。为此,我们将使用 OAuth。但我怀疑我应该将每个 OAuth 站点相关身份验证的逻辑放在哪里?仅以facebook为例,我的controller就占用了50行代码,这样我的controller就不会瘦了...
我想知道我应该把它放在哪里。 为每个站点创建一个 Zend_Auth 适配器,只为此创建一个服务,最好的方法是什么?
对不起可怜的英语。 :)
最佳答案
JF Austin有一个相当generic OAuth authentication adapter implementation使用 Zend_Oauth_Consumer .从那里为 Twitter、Facebook 等创建它的特定子类似乎很简单。他甚至似乎有一个Twitter adapter已经。 his blog post 中描述了适配器的使用关于它。
或者,注意 this one通过 Lloyd Watkin .
结果:所有 OAuth 逻辑都隐藏在这些适配器中。然后,您的 Controller 可以实例化此身份验证适配器,将其提供给 Zend_Auth::authenticate($adapter)
,然后根据返回的结果采取行动,使 Controller 专注于更高级别的应用程序连接。
关于php - 在哪里放置 OAuth 逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6234435/