如何为API驱动的Web应用程序保留登录凭据

时间:2010-12-28 19:52:10

标签: php api zend-framework

我即将开始开发一个允许用户登录服务并执行某些任务的前端。所有任务都是通过第三方的API执行的。

我正在使用PHP& Zend Framework。

我的问题:如果每个API调用都要求在标头中传递登录信息,那么如何保留登录凭据?

首先通过/ login控制器对用户进行身份验证,然后对其会话进行身份验证。

1 个答案:

答案 0 :(得分:1)

我有简单的建议

您可以编写自定义Zend_auth_adapter ,我希望将其设为单一类,以便通过API验证您的登录数据 并将结果对象保存在会话对象

class My_Auth_adapther implements Zend_Auth_Adapter_Interface {

  public static function getinstance($username , $password ){
      return $this->authenticate($username , $password ); 
  }
  private  function authenticate($username  , $password ){
    // make sure to check if the session has been already created  in order to save one api  request 
    // do your api call (login request ) her 
    // return false if its not valid 
    // or return stdobject that contain ($username , $password ) , for any post usage 
   }
}

如果该对象不存在(换句话说==未登录),则不允许进一步调用api