| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- namespace app\admin\service;
- use app\BaseService;
- use app\common\model\AdminModel;
- class LoginService extends BaseService
- {
- private $adminModel;
- public function __construct()
- {
- $this->adminModel = new AdminModel();
- }
- public function login(string $username, string $password)
- {
- $admin = $this->adminModel->loadByLogin($username,$password);
- if($admin) {
- $token = \Jwt::getToken([
- 'iss'=>'jwt_admin', //该JWT的签发者
- 'iat'=>time(), //签发时间
- 'exp'=>time()+7200, //过期时间
- 'nbf'=>time()+60, //该时间之前不接收处理该Token
- 'jti'=>md5(uniqid('JWT').time()), //该Token唯一标识
- 'admin_id'=>$admin->id,
- 'account'=>$admin->account,
- 'nickname'=>$admin->nickname
- ]);
- $this->adminModel->refreshToken($admin->id,$token);
- if(is_bool($token)) return $this->fail('获取token失败!');
- $admin->token = $token;
- }
- return $admin ? $this->success($admin) : $this->fail('账号密码错误!');
- }
- }
|