CakePHP 2 JWT Auth插件未在CakeRequest中接收标头

时间:2017-02-16 15:06:51

标签: cakephp oauth-2.0 jwt cakephp-2.6

我正在使用CakePHP插件(https://github.com/t73biz/cakephp2-jwt-auth)。我的CakePHP应用程序是2.6.2版。我已经将它添加到AppController中的Auth Component。

    'JwtAuth.JwtToken' => array(
                'fields' => array(
                    'username' => 'email',
                    'password' => 'password',
                    'token' => '_token'
                ),
                'parameter' => '_token',
                'contain' => array(
                    'Organization'
                ),
                'scope' => array(
                    'User.status' => 'A',
                    //'User.frozen' => 0,
                    'User.locked_out' => 0,
                    'Organization.status' => 'A',
                    //'User.failed_sign_ins < 4'

                ),
                'header' => 'X_JSON_WEB_TOKEN',
                'pepper' => 'pepper' // Says pepper because I do not want to show the pepper key I used for my code
            ),

我知道插件运行是因为我在插件的getUser函数中添加了一个die语句,并在我执行API请求时显示。

public function getUser(CakeRequest $request) {

    $token = $this->_getToken($request);
    if ($token) {
        return $this->_findUser($token);
    }
    return false;
}

这是该插件的Controller目录中Component目录中JwtTokenAuthenticate.php的一部分。当我调试$ request时,我没有将标头作为请求的一部分。我正在使用Postman来测试API和Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7ImlkIjoiMTIiLCJzdWIiOiIxMiJ9LCJpYXQiOjE0ODcyNTUxMjYsImV4cCI6MTQ4NzI1ODcyNn0.5hoyXltPmEXIA3eVtJnnn3Dor2lhviej31eZNbaMbow

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你试图通过Authorization标题传递身份验证令牌?但根据插件文档,您应该通过X_JSON_WEB_TOKEN标头或_token查询参数来执行此操作。