Heim  >  Artikel  >  PHP-Framework  >  So verwenden Sie das Token des ThinkPhp-Frameworks in PHP

So verwenden Sie das Token des ThinkPhp-Frameworks in PHP

PHPz
PHPznach vorne
2023-05-26 14:14:251918Durchsuche

1. Die Verwendung von Token im ThinkPhp-Framework

1. Fügen Sie zunächst zwei Felder token und time_out#🎜 in die Benutzertabelle ein der Datenbank 🎜#

token wird zum Speichern des Benutzertokens verwendet

time_out wird zum Festlegen der Ablaufzeit des Benutzertokens verwendet

# 🎜🎜#2. Erstellen Sie eine Funktion

checkToekn($token)
Die Funktion wird verwendet, um zu prüfen, ob das Token vorhanden ist, und um das Token zu aktualisieren.

public function checkToken($token)
    {
        $user = new \app\index\model\Users();
        $res = $user->field('time_out')->where('token', $token)->select();
 
        if (!empty($res)) {
            //dump(time() - $res[0]['time_out']);
            if (time() - $res[0]['time_out'] > 0) {
     
                return 90003; //token长时间未使用而过期,需重新登陆
            }
            $new_time_out = time() + 604800; //604800是七天
            $res = $user->isUpdate(true)
                ->where('token', $token)
                ->update(['time_out' => $new_time_out]);
            if ($res) {
     
                return 90001; //token验证成功,time_out刷新成功,可以获取接口信息
            }
        }
 
        return 90002; //token错误验证失败
}

3. Erstellen Sie die Funktion

douserLogin($username,$password)
, um Benutzernamen und Passwort zu überprüfen, sich anzumelden und Token-Informationen zurückzugeben.

  public function douserLogin()
    {
        $user = new \app\index\model\Users();
        $userisset = $user->where('username', $username)->find();
        if ($userisset == null) {
            return json_decode('{"user":"' . $username . '","code":"400","msg":"用户不存在"}');
        } else {
            $userpsisset = $user
                ->where('username', $username)
                ->where('password', sha1(md5($password)))->find();
 
            if ($userpsisset == null) {
                return json_decode('{"user":"' . $username . '","code":"401","msg":"密码错误"}');
            } else {
                //session('user', $username);
                $token = $this->makeToken();
                $time_out = strtotime("+7 days");
                $userinfo = ['time_out' => $new_time_out,
                    'token' => $token];
                $res = $user->isUpdate(true)
                    ->where('username', $username)
                    ->update($userinfo);
                if ($res) {
                    return json_decode('{"user":"' . $username . '","toekn":'.$token.' "code":"0","msg":"登录成功"}');
                }
            }
        }
}

2. Das Konzept von Token

Token ist, wenn der Client häufig Daten vom Server anfordert und der Server häufig die Datenbank abfragt für Benutzernamen und Passwörter Stellen Sie fest, ob Benutzername und Passwort korrekt sind, und führen Sie entsprechende Abfragen durch. In diesem Zusammenhang sind Token entstanden.

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Token des ThinkPhp-Frameworks in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen