返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php firebase/php-jwt
  • 814
分享到

php firebase/php-jwt

phpjava开发语言 2023-08-31 09:08:16 814人浏览 安东尼
摘要

camposer 安装Jwt类 composer require firebase/PHP-jwt 2.在App文件下新建Services文件夹,新建JwtServicer类 3.类中写入以下代码 use Firebase\JWT\JWT;

camposer 安装Jwt
composer require firebase/PHP-jwt
2.在App文件下新建Services文件夹,新建JwtServicer类
3.类中写入以下代码
use Firebase\JWT\JWT;
use Firebase\JWT\Key
public static function createToken($userId)
{
$key = "example_key";
$payload = array(
"iss" => "http://example.org",
"aud" => "http://example.com",
"iat" => 1356999524,
"nbf" => 1357000000,
'user_id'=>$userId
);
$jwt = JWT::encode($payload, $key, 'HS256');
return $jwt;
}
public static function decodeToken($jwt){
$key = "example_key";
$decoded = JWT::decode($jwt, new Key($key, 'HS256'));
if ($decoded){
return $decoded;
}else{
return false;
}

}
4.新建中间件
php artisan make:middleware CheckapiLogin
5.在中间件中写入 ,将token放入header中传输
public function handle(Request $request, Closure $next)
{
//将token放入header中传输
$token=$request->header('token');
if (!$token){
return response()->json(['code'=>500,'msg'=>'token不存在','data'=>[]]);
}
$userId=JwtServer::decodeToken($token);
if ($userId){
//将加密id解密传入下一步
$request->attributes->add(['user_id'=>$userId->user_id]);
}else{
return response()->json(['code'=>500,'msg'=>'token过期','data'=>[]]);
}
return $next($request);
}
6.路由直接调用中间件
7.控制器获取token解密的凭证
$userId=$request->get('user_id');
8.前端在header 中调用

来源地址:https://blog.csdn.net/m0_58861359/article/details/128496606

--结束END--

本文标题: php firebase/php-jwt

本文链接: https://lsjlt.com/news/385048.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作