From 61ab322af41da30f7f2bad95acfcd537bc18e0c4 Mon Sep 17 00:00:00 2001 From: leolleocomp Date: Sun, 22 Mar 2020 10:56:13 -0300 Subject: [PATCH] Add RefreshToken model to the list aliases --- src/MongodbPassportServiceProvider.php | 3 + src/Passport/RefreshToken.php | 84 ++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 src/Passport/RefreshToken.php diff --git a/src/MongodbPassportServiceProvider.php b/src/MongodbPassportServiceProvider.php index d7fb365..2ddd019 100644 --- a/src/MongodbPassportServiceProvider.php +++ b/src/MongodbPassportServiceProvider.php @@ -6,6 +6,7 @@ use DesignMyNight\Mongodb\Passport\AuthCode; use DesignMyNight\Mongodb\Passport\Client; use DesignMyNight\Mongodb\Passport\PersonalAccessClient; +use DesignMyNight\Mongodb\Passport\RefreshToken; use DesignMyNight\Mongodb\Passport\Token; class MongodbPassportServiceProvider extends ServiceProvider @@ -21,11 +22,13 @@ public function register() $loader->alias('Laravel\Passport\Client', Client::class); $loader->alias('Laravel\Passport\PersonalAccessClient', PersonalAccessClient::class); $loader->alias('Laravel\Passport\Token', Token::class); + $loader->alias('Laravel\Passport\RefreshToken', RefreshToken::class); } else { class_alias('Laravel\Passport\AuthCode', AuthCode::class); class_alias('Laravel\Passport\Client', Client::class); class_alias('Laravel\Passport\PersonalAccessClient', PersonalAccessClient::class); class_alias('Laravel\Passport\Token', Token::class); + class_alias('Laravel\Passport\RefreshToken', RefreshToken::class); } } } diff --git a/src/Passport/RefreshToken.php b/src/Passport/RefreshToken.php new file mode 100644 index 0000000..f696717 --- /dev/null +++ b/src/Passport/RefreshToken.php @@ -0,0 +1,84 @@ + 'bool', + ]; + + /** + * The attributes that should be mutated to dates. + * + * @var array + */ + protected $dates = [ + 'expires_at', + ]; + + /** + * Indicates if the model should be timestamped. + * + * @var bool + */ + public $timestamps = false; + + /** + * Get the access token that the refresh token belongs to. + * + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + */ + public function accessToken() + { + return $this->belongsTo(Passport::tokenModel()); + } + + /** + * Revoke the token instance. + * + * @return bool + */ + public function revoke() + { + return $this->forceFill(['revoked' => true])->save(); + } + + /** + * Determine if the token is a transient JWT token. + * + * @return bool + */ + public function transient() + { + return false; + } +}