PHP如何实现Token认证
首先分析Token,然后根据分析的信息部分验证是否过期,如果没有过期则加密分析的信息部分; 将最后加密的数据与分析的签名进行比对,如果相同,则验证成功。
示例代码: php
functioncheck_token($token ) {
/* * * *来自API的token ****/
if (! isset($token ) }
$msg['code']='400 ';
$msg['msg']='非法索赔';
返回JSON _ encode ($ msg,JSON_UNESCAPED_UNICODE );
}
与token进行对比
$explode=explode ('.',$token );
将token分割为数组
if (! empty($explode[0]! empty($explode[1]! empty($explode[2]! empty($explode[3] ) ) ) ) }
$ info=$ explode [0].'.'.$ explode [1].'.$ explode [2];
//信息部分
$true_signature=hash_hmac('MD5 ',$info,'天真的路灯');
//正确的签名
if (时间($ explode [2] ) )。
$msg['code']='401 ';
$msg['msg']='Token已过期。 请再次登录';
返回JSON _ encode ($ msg,JSON_UNESCAPED_UNICODE );
}
if $ true _ signature==$ explode [3] {
$msg['code']='200 ';
$msg['msg']='Token方法';
返回JSON _ encode ($ msg,JSON_UNESCAPED_UNICODE );
} else {
$msg['code']='400 ';
$msg['msg']='Token不合法';
返回JSON _ encode ($ msg,JSON_UNESCAPED_UNICODE );
}
} else {
$msg['code']='400 ';
$msg['msg']='Token不合法';
返回JSON _ encode ($ msg,JSON_UNESCAPED_UNICODE );
}
}
推荐教程: 《PHP教程》