AuthController.php 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Support\Facades\DB;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\Auth;
  6. use App\Models\User;
  7. use Illuminate\Support\Facades\Route;
  8. class AuthController extends Controller
  9. {
  10. /**
  11. * Create a new AuthController instance.
  12. *
  13. * @return void
  14. */
  15. public function __construct()
  16. {
  17. #这个句是官方提供的,还没有验证是否有效
  18. // $this->middleware('auth:api', ['except' => ['login']]);
  19. }
  20. /**
  21. * Get a JWT token via given credentials.
  22. *
  23. * @param \Illuminate\Http\Request $request
  24. *
  25. * @return \Illuminate\Http\JsonResponse
  26. */
  27. public function login(Request $request)
  28. {
  29. // $routes=app('router')->getRoutes();
  30. // var_dump($routes);exit;
  31. // $credentials = $request->only('name', 'status');
  32. // $request['name']='test';
  33. // $request['no']='123456';
  34. // $uuu=$this->guard()->user();
  35. // dd($uuu);
  36. $user=User::find(1);
  37. // dd($user);exit;
  38. $token=Auth::guard('api')->fromUser($user);
  39. return $token;
  40. // $user=User::whereRaw('name = ? and cre_num=?', ['test1','410000000000008888'])->first();
  41. // $token=Auth::guard('api')->fromUser($user);
  42. // return response(['token' => 'bearer ' . $token,'code'=>200]);
  43. // return $token;
  44. // dd($u);exit;
  45. // if ($token = $this->guard()->attempt($credentials)) {
  46. // return $this->respondWithToken($token);
  47. }
  48. // return response()->json(['error' => 'Unauthorized'], 401);
  49. /**
  50. * Get the authenticated User
  51. *
  52. * @return \Illuminate\Http\JsonResponse
  53. */
  54. public function me()
  55. {
  56. return response()->json($this->guard()->user());
  57. }
  58. /**
  59. * Log the user out (Invalidate the token)
  60. *
  61. * @return \Illuminate\Http\JsonResponse
  62. */
  63. public function logout()
  64. {
  65. $this->guard()->logout();
  66. return response()->json(['message' => 'Successfully logged out']);
  67. }
  68. /**
  69. * Refresh a token.
  70. *
  71. * @return \Illuminate\Http\JsonResponse
  72. */
  73. public function refresh()
  74. {
  75. return $this->respondWithToken($this->guard()->refresh());
  76. }
  77. /**
  78. * Get the token array structure.
  79. *
  80. * @param string $token
  81. *
  82. * @return \Illuminate\Http\JsonResponse
  83. */
  84. protected function respondWithToken($token)
  85. {
  86. return response()->json([
  87. 'access_token' => $token,
  88. 'token_type' => 'bearer',
  89. 'expires_in' => $this->guard()->factory()->getTTL() * 60
  90. ]);
  91. }
  92. /**
  93. * Get the guard to be used during authentication.
  94. *
  95. * @return \Illuminate\Contracts\Auth\Guard
  96. */
  97. public function guard()
  98. {
  99. return Auth::guard();
  100. }
  101. }