如何在 cakephp 2.10 中使用 JWT?
Posted
技术标签:
【中文标题】如何在 cakephp 2.10 中使用 JWT?【英文标题】:How to use JWT with cakephp 2.10? 【发布时间】:2018-12-14 13:36:17 【问题描述】:我正在使用 Cakephp 2.10.9 版本并尝试使用基于令牌的身份验证而不是基于会话的身份验证。
我找不到任何关于如何在 CakePHP 2.x 中使用 JWT 的信息。
这是我迄今为止尝试过的。作为第一步,我下载了插件 t73biz/cakephp2-jwt-auth 并将其添加到文件夹 app/Plugin/JwtAuth
中。正如用法中提到的(https://github.com/t73biz/cakephp2-jwt-auth),我在 app/Controller/AppController.php 中添加了以下配置
var $components = array(
'Auth' => array(
'authenticate' => array(
'JwtAuth.JwtToken' => array(
'fields' => array(
'username' => 'username',
'password' => 'password',
'token' => 'public_key',
),
'parameter' => '_token',
'userModel' => 'User',
'scope' => array('User.active' => 1),
'pepper' => 'sneezing',
),
),
),'Session','RequestHandler','Email','Flash');
根据我过去使用插件的经验,我知道我应该将插件包含在 bootstrap.php 中。
CakePlugin::load('JwtAuth');
我不知道在这之后我应该做什么。有人可以指导我吗?
【问题讨论】:
【参考方案1】:我认为您没有阅读Authentication 部分
=> 查询字符串参数定义为配置数组中的参数(默认为
_token
)=>配置数组中定义为header的header内容(默认为
X_JSON_WEB_TOKEN
)
这意味着当您访问任何方法时,您必须通过 JWT
toekn 和 query
参数或 Header 请求。
示例查询参数:
http://example.com/users/add?_token=THEJWTWEVTOKEN
【讨论】:
以上是关于如何在 cakephp 2.10 中使用 JWT?的主要内容,如果未能解决你的问题,请参考以下文章
Cakephp 3.x ADmad/JwtAuth MissingRouteException
使用自定义身份验证适配器时检查 CakePHP 上的登录用户信息
在 Post 方法上获取 401 Unauthorized [前端 - Angular 2 和后端 - Cakephp 3]