t73biz/cakephp2-jwt-auth

此包已被废弃,不再维护。没有建议的替代包。

Cakephp 2 JWT 验证

安装数: 3,165

依赖: 0

建议者: 0

安全: 0

星标: 7

关注者: 4

分支: 13

类型:cakephp-plugin

1.1.0 2016-05-23 01:32 UTC

This package is not auto-updated.

Last update: 2024-07-18 16:45:20 UTC


README

CakePHP 2.x JWT 验证 (已停止开发)

该项目不再进行积极开发。

此插件是 CakePHP 2.x 的 JWT 验证组件和视图辅助器。

组件

  • Auth/JwtTokeAuthenticate - CakePHP 2.6.x 的 JSON Web Token 实现

辅助器

  • AuthHelper - 用于用户验证的实用函数

要求

  • PHP 版本:PHP 5.3+
  • CakePHP 版本:2.6 稳定版

支持

有关支持和功能请求,请访问 JWT 验证插件支持 部分。

许可

版权 2011 - 2014, Florian Krämer 版权 2015, Ronald Chaplin

许可协议 MIT 许可协议
文件重新分发必须保留上述版权声明。

版权

版权 2011 - 2014 Florian Krämer http://github.com/burzum

版权 2015 Ronald Chaplin http://github.com/t73biz

版本

1.0.6

安装

composer require t73biz/cakephp2-jwt-auth 1.0.6

这将安装到插件目录(在 JwtAuth 文件夹中)。要运行测试,只需导航到您的 webroot/test.php 并遵循认证适配器的测试用例链接。

用法

配置

您可以在控制器的 $components 数组中声明此配置,或者在 action 中即时声明(如果需要加载任何配置值,您不能在 $components 数组中声明,例如)。

public $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',
            ),
        ),
    ),
);

或者

$this->Auth->authenticate['JwtAuth.JwtToken'] = array(
    'fields' => array(
        'username' => 'username',
        'password' => 'password',
        'token' => 'public_key',
    ),
    'parameter' => '_token',
    'userModel' => 'User',
    'scope' => array('User.active' => 1),
    'pepper' => Configure::read('API.token.pepper'),
);

位置(不包括常用认证项)

  • fields 是一个数组,包含传递值(POSTed)的详细信息,这些值包含 usernamepasswordtoken
    • token 用于在验证用户后保持唯一密钥,并也存储在 JWT 中
  • parameter 是可能包含 JWT 的查询字符串参数
  • header 是可能包含 JWT 的 HTTP 头
  • pepper 是加密 JWT 时使用的盐(请保持这个非常保密!)

默认值

array(
    'fields' => array(
        'username' => 'username',
        'token' => 'token'
    ),
    'parameter' => '_token',
    'header' => 'X_JSON_WEB_TOKEN',
    'userModel' => 'User',
    'scope' => array(),
    'recursive' => 0,
    'contain' => null,
    'pepper' => '123'
);

认证

您可以通过传递有效的 JWT 进行认证,作为以下方式之一

  • 在配置数组中定义为 parameter 的查询字符串参数(默认为 _token
  • 在配置数组中定义为 header 的头内容(默认为 X_JSON_WEB_TOKEN

待办事项

实现内部客户端和第三方客户端使用的端到端示例。