AuthApi.php 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace App\Http\Api;
  3. use Illuminate\Support\Facades\Log;
  4. use Illuminate\Http\Request;
  5. use Firebase\JWT\JWT;
  6. use Firebase\JWT\Key;
  7. class AuthApi
  8. {
  9. public static function getToken(Request $request)
  10. {
  11. $token = $request->bearerToken();
  12. return $token;
  13. }
  14. public static function current(Request $request)
  15. {
  16. $token = $request->bearerToken();
  17. if ($token) {
  18. try {
  19. $jwt = JWT::decode($token, new Key(config('app.key'), 'HS512'));
  20. } catch (\Exception $e) {
  21. return false;
  22. }
  23. if ($jwt->exp < time()) {
  24. //过期
  25. return false;
  26. } else {
  27. //有效的token
  28. return ['user_uid' => $jwt->uid, 'user_id' => $jwt->id];
  29. }
  30. } else if (isset($_COOKIE['user_uid'])) {
  31. return ['user_uid' => $_COOKIE['user_uid'], 'user_id' => $_COOKIE['user_id']];
  32. } else {
  33. return false;
  34. }
  35. }
  36. }