如何在ClientIgniter 3.x中为来自客户端的每个请求验证JWT令牌

时间:2016-12-01 05:40:17

标签: php codeigniter jwt restful-authentication

经过很长一段时间,我来这里解决我的问题。我对Codeigniter框架很新。我刚开始在CodeIgiter中学习RESTful api。然后我知道我们可以使用JWT而不是Sessions。我能够使用JWT并成功生成令牌。现在问题是,我想为客户端的每个请求验证生成的令牌。 例如, 这是基本网址或api,     http://localhost/codeigniter/api/

现在我要验证这样的事情:

http://localhost/codeigniter/api?token="here the generated token will come"

如何使用Codeigniter 3.x

实现它

我使用codeigniter-rest服务器进行API调用,使用php-jwt生成令牌。

2 个答案:

答案 0 :(得分:7)

首先从代码https://github.com/rmcdaniel/angular-codeigniter-seed/blob/master/api/application/helpers/jwt_helper.php

创建一个帮助器

然后加载或自动加载此帮助程序。

这将为您提供令牌

helper_name::decode(token,secure_key,true) 

验证您需要使用

{{1}}

它将为您提供已编码的数据,或者如果令牌无效,它将为您提供错误。

答案 1 :(得分:0)

对不起,迟到了。

我创建了一个repository,其中包含此代码包括辅助类。

由于这是示例代码,因此我不期待任何usernamepassword

获取身份验证令牌

URL: http://host/CodeIgniter-JWT-Sample/auth/token
Method: GET

检查已解码的令牌

URL: http://host/CodeIgniter-JWT-Sample/auth/token
Method: POST
Header Key: Authorization
Value: Auth token generated in GET call