12345678910111213141516171819202122232425262728293031323334353637 |
- <?php
- namespace app\common\controller;
- use app\common\exception\CatchException;
- use think\facade\Log;
- trait JwtAuthorizedTrait
- {
- /**
- * $payload Jwt 载荷,stdClass
- *
- * @var \stdClass
- */
- protected $payload;
- public function initialize()
- {
- parent::initialize();
- // 允许cros通过jwt所在的header
- $jwt = $this->request->header('Authorization');
- if (!$jwt) {
- throw new CatchException("请登录", 600);
- }
- // 解析jwt
- $jwt = str_replace('Bearer ', '', $jwt);
- Log::debug("尝试解析Jwt: " . var_export($jwt, true));
- $this->payload = $this->decodeJwt($jwt);
- // 调用用户自定义的初始化语句
- if (method_exists($this, 'init')) {
- $this->init();
- }
- }
- }
|