Token.php 973 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use fast\Random;
  5. /**
  6. * Token接口
  7. */
  8. class Token extends Api
  9. {
  10. protected $noNeedLogin = [];
  11. /**
  12. * 检测Token是否过期
  13. *
  14. */
  15. public function check()
  16. {
  17. $token = $this->auth->getToken();
  18. $tokenInfo = \app\common\library\Token::get($token);
  19. $this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]);
  20. }
  21. /**
  22. * 刷新Token
  23. *
  24. */
  25. public function refresh()
  26. {
  27. //删除源Token
  28. $token = $this->auth->getToken();
  29. \app\common\library\Token::delete($token);
  30. //创建新Token
  31. $token = Random::uuid();
  32. \app\common\library\Token::set($token, $this->auth->id, 2592000);
  33. $tokenInfo = \app\common\library\Token::get($token);
  34. $this->success('', ['token' => $tokenInfo['token'], 'expires_in' => $tokenInfo['expires_in']]);
  35. }
  36. }