我目前正在进行cakephp2网站迁移工作,我们正计划去寻找一个cakephp3 restful api。该网站目前支持多种身份验证模式(使用用户密码,使用Facebook帐户,使用谷歌帐户)。 对于一种身份验证方式(用户密码),找到一种安静的方法来实现这一点非常简单,我使用了cakephp的BasicAuthenticate。但是,对于其他身份验证方法,我在AppController中做了类似的事情:
public function beforeFilter(Event $event) {
parent::beforeFilter($event);
// We try to get the authType and the corresponding token if they are sent as a parameter
$authType = $this->request->getQuery('type');
$token = $this->request->getQuery('token');
if($token !=null) {
switch ($authType) {
case 'facebook':
$this->facebookAuth($token);
break;
case 'google':
$this->googleAuth($token);
break;
}
}
}
我目前正在手动设置用户,如果身份验证成功,我想知道这是否是"清洁"这样做的方式。