这是支持多种身份验证模式的好方法吗?

时间:2017-04-18 12:54:46

标签: rest authentication cakephp

我目前正在进行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;
        }
    }
}

我目前正在手动设置用户,如果身份验证成功,我想知道这是否是"清洁"这样做的方式。

0 个答案:

没有答案