| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- <?php
- namespace App\Http\ApiControllers;
- use Illuminate\Http\Request;
- use Illuminate\Http\Response;
- class LoginController
- {
- public function login(Request $request):Response
- {
- $user_name = $request->get('username','');
- $password = $request->get('password','');
- $user = Users::where(['username' => $user_name,'password' => $password])->first();
- if(!$user)
- {
- return response()->json('用戶名或密碼錯誤!');
- }
- unset($user['password']);
- //登录成功token
- $token = $this->getJWTToken($user);
- cache('user-'.$user['id'],$user);
- return response()->json(['token' => $token]);
- }
- public function getJWTToken($value)
- {
- $time = time();
- $payload = [
- 'iat' => $time,
- 'nbf' => $time,
- 'exp' => $time+7200,
- 'data' => [
- 'id' => $value['id'],
- 'username' => $value['user_name']
- ]
- ];
- $key = env('JWT_SECRET');
- $alg = 'HS256';
- $token = JWT::encode($payload,$key,$alg);
- return $token;
- }
- }
|