CakePHP 3 + JWT + Xampp:无法读取HTTP授权承载令牌

时间:2017-11-03 10:08:22

标签: apache cakephp authorization jwt cakephp-3.0

我正在使用ADmad的CakePHP JWT Auth pluginBravo Kernel's tutorial来设计这个CakePHP 3应用程序。

我已经按照示例操作,并且能够通过调用token()方法生成令牌。

但是,当我使用标题中包含的授权承载xxx形式的令牌发回请求时,CakePHP无法读取它。

如果我记录$ request var,我看到......

maxfilesize

...
...

[_environment:protected] => Array
    (
        [REDIRECT_REDIRECT_HTTP_AUTHORIZATION] => Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkZTUyYTIxZC02Nzk1LTRlZTgtYjFhYi1mYmY1N2M4OTQxNDAiLCJleHAiOjE1MTAzMDQxNTZ9.GeO-UACG491JsACeWqXYGasISBTRc7g74wVQjde-gYY
        [REDIRECT_REDIRECT_MIBDIRS] => D:/xampp7/php/extras/mibs
        [REDIRECT_REDIRECT_MYSQL_HOME] => \xampp\mysql\bin
        [REDIRECT_REDIRECT_OPENSSL_CONF] => D:/xampp7/apache/bin/openssl.cnf
        [REDIRECT_REDIRECT_PHP_PEAR_SYSCONF_DIR] => \xampp\php

根据Bravo Kernel的教程/ ADmad的解释,我在.htaccess中添加了以下几行,以确保Apache传递令牌。

    [REQUEST_URI] => /api/requesters/load-user-details.json
    [SCRIPT_NAME] => /api/webroot/index.php
    [PHP_SELF] => /api/webroot/index.php
    [REQUEST_TIME_FLOAT] => 1509704194.57
    [REQUEST_TIME] => 1509704194
    [HTTP_AUTHORIZATION] => Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkZTUyYTIxZC02Nzk1LTRlZTgtYjFhYi1mYmY1N2M4OTQxNDAiLCJleHAiOjE1MTAzMDQxNTZ9.GeO-UACG491JsACeWqXYGasISBTRc7g74wVQjde-gYY
    [ORIGINAL_REQUEST_METHOD] => GET
    [HTTP_X_REQUESTED_WITH] => 

令牌似乎包含在标题中..但插件仍然保持输出..

RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

关于下一步该做什么的任何线索?

谢谢。

0 个答案:

没有答案