1. Go to this page and download the library: Download goodnews/hyperf-passport library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
goodnews / hyperf-passport example snippets
return [
// 这里的 http 对应默认的 server name,如您需要在其它 server 上使用 Session,需要对应的配置全局中间件
'http' => [
\Hyperf\Session\Middleware\SessionMiddleware::class,
],
];
declare (strict_types=1);
namespace App\Model;
use Hyperf\DbConnection\Db;
use Qbhy\HyperfAuth\AuthAbility;
use Qbhy\HyperfAuth\Authenticatable;
use Richard\HyperfPassport\Auth\AuthenticatableTrait;
use Richard\HyperfPassport\HasApiTokens;
/**
*/
class User extends Model implements Authenticatable {
use HasApiTokens;
use AuthenticatableTrait;
use AuthAbility;
public $timestamps = false;
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'member';
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [];
/**
* 修改认证时的默认username字段
*/
public function findForPassport($username) {
if (strpos($username, '@') !== false) {
return $this->findByEmailForPassport($username);
} else {
if ((is_numeric($username)) && (strlen($username) == 11)) {
return $this->findByMobileForPassport($username);
} else {
return $this->findByUsernameForPassport($username);
}
}
}
protected function findByEmailForPassport($username) {
return $this->where('email', $username)->first();
}
protected function findByMobileForPassport($username) {
return $this->where('mobile', $username)->first();
}
protected function findByUsernameForPassport($username) {
return $this->where('member_name', $username)->first();
}
/**
* Get the password for the user.
*
* @return string
*/
public function getAuthPassword() {
return $this->member_pass;
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.