php - 在哪里放置 OAuth 逻辑?

标签 php zend-framework oauth service-layer actioncontroller

我在一个项目中使用 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/

相关文章:

php - 如果没有文件上传,数据库中的文件id应该是: placeholder. gif

php - 在 Twig 中获取表单名称

javascript - 如何使用序列化(jQuery/Ajax)循环表单数据

unit-testing - phing 和 phpunit + bootstrap

php - 如何使用 OAuth 刷新 token 更新访问 token ?

php - Propel (PostgreSQL) 语法错误位于或接近 "."

zend-framework - 如何从 Zend 验证错误中输出 HTML?

php - ORM 是全有还是全无?

java - OAuth:App Id 或 redirect_uri 与授权码不匹配

oauth - 是否可以通过某种方式将 recaptcha 与 auth0 一起使用,以避免让用户登录但仍然拥有 token ?