Laravel如何配合使用jwt方法

  介绍

今天就跟大家聊聊有关Laravel如何配合使用jwt方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

测试使用的是Laravel5.5版本。

<强>安装

作曲家要求tymon/jwt-auth=1.0.0-rc。5 

<>强配置

生成配置

 php工匠供应商:供应商发布——=癟ymon \ JWTAuth \ \ LaravelServiceProvider"提供者;
  
  php工匠jwt:秘密

auth配置

& lt;及# 63;php      返回(   …      & # 39;违约# 39;=比;(   & # 39;后卫# 39;=比;& # 39;网络# 39;   & # 39;密码# 39;=比;& # 39;用户# 39;   ),         & # 39;警卫# 39;=比;(   & # 39;网络# 39;=比;(   & # 39;司机# 39;=比;& # 39;会话# 39;   & # 39;提供者# 39;=比;& # 39;用户# 39;   ),//使用jwt   & # 39;api # 39;=比;(   & # 39;司机# 39;=比;& # 39;jwt # 39;   & # 39;提供者# 39;=比;& # 39;apiUser& # 39;   ),   ),         & # 39;提供者# 39;=比;(   …//指定模型   & # 39;apiUser& # 39;=比;(   & # 39;司机# 39;=比;& # 39;雄辩的# 39;   & # 39;模型# 39;=比;App \ ApiUser::类,   ),   ),   ];

<强>编码

控制器:

& lt;及# 63;php      名称空间的应用程序控制器\ Http \ \ Api;      使用App \ ApiUser;   使用Http \控制器\ App \控制器;   使用说明\ Http \请求;   使用Tymon \ JWTAuth \外墙\ JWTAuth;      类AuthController扩展控制器   {/* *   *中间件去除登录和刷新   *   * @return无效   */公共函数__construct ()   {   $ this→中间件(& # 39;身份验证:api # 39;,[& # 39;除了# 39;=比;[& # 39;登录# 39;& # 39;刷新# 39;]]);   }/* *   * JWT通过给定的凭证。   *   * @return \ \ Http \ JsonResponse照亮   */公共函数登录请求(请求$)   {   只凭据=请求→美元(& # 39;电话# 39;& # 39;密码# 39;);      如果(count($凭证)& lt;2){   返回响应()→json([& # 39;错误# 39;=比;& # 39;未经授权# 39;],401);   }      $ user=ApiUser::(& # 39;电话# 39;,美元凭证(& # 39;电话# 39;])   →在哪里(& # 39;密码# 39;,md5($凭证(& # 39;密码# 39;)))   →第();   如果(空(用户)美元| | !令牌=JWTAuth:美元:fromUser(用户)美元){   返回响应()→json([& # 39;错误# 39;=比;& # 39;未经授权# 39;],401);   }//dd(令牌);      返回$ this→respondWithToken(令牌);   }/* *   *身份验证的用户。   *   * @return \ \ Http \ JsonResponse照亮   */公共函数我()   {   返回响应()→json(身份验证(& # 39;api # 39;)→用户());   }/* *   *登录用户(令牌失效)。   *   * @return \ \ Http \ JsonResponse照亮   */公共函数注销()   {   身份验证()→注销();      返回响应()→json([& # 39;消息# 39;=比;& # 39;成功登录本# 39;]);   }/* *   *刷新令牌。   *   * @return \ \ Http \ JsonResponse照亮   */公共函数刷新()   {   返回$ this→respondWithToken(身份验证(& # 39;api # 39;)→refresh ());   }/* *   *标记数组结构。   *   * @param字符串$令牌   *   * @return \ \ Http \ JsonResponse照亮   */保护功能respondWithToken(令牌)   {   返回响应()→json ([   & # 39;access_token& # 39;=比;美元的令牌,   & # 39;token_type& # 39;=比;& # 39;无记名# 39;   & # 39;expires_in& # 39;=比;身份验证(& # 39;api # 39;)→工厂()→getTTL () * 60   ]);   }   }

路由:

此处注意,我为了方便测试,使用了会方法,生产环境不建议使用。

///api.php路线
  
  路线::中间件(& # 39;api # 39;)→前缀(& # 39;auth # 39;)→名称空间(& # 39;api # 39;)→集团(函数(){
  路线:get(& # 39;登录# 39;& # 39;AuthController@login& # 39;);
  路线::post(& # 39;注销# 39;& # 39;AuthController@logout& # 39;);
  路线:get(& # 39;刷新# 39;& # 39;AuthController@refresh& # 39;);
  路线:get(& # 39;我# 39;& # 39;AuthController@me& # 39;);
  });

测试一下:

 Laravel如何配合使用jwt方法

 Laravel如何配合使用jwt方法

 Laravel如何配合使用jwt方法

Laravel如何配合使用jwt方法