Skip to content

Commit

Permalink
feat: define token lifetimes as DateInterval instead of DateTime - pr…
Browse files Browse the repository at this point in the history
…ovides an easier use in a Laravel Octane deployment
  • Loading branch information
DeepDiver1975 committed Oct 26, 2021
1 parent 12678fb commit 47e22e7
Showing 1 changed file with 21 additions and 29 deletions.
50 changes: 21 additions & 29 deletions src/Passport.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

namespace Laravel\Passport;

use Carbon\Carbon;
use DateInterval;
use DateTimeInterface;
use Illuminate\Support\Facades\Route;
use League\OAuth2\Server\ResourceServer;
use Mockery;
Expand Down Expand Up @@ -36,23 +34,23 @@ class Passport
];

/**
* The date when access tokens expire.
* The date interval when access tokens expire.
*
* @var \DateTimeInterface|null
* @var \DateInterval|null
*/
public static $tokensExpireAt;

/**
* The date when refresh tokens expire.
*
* @var \DateTimeInterface|null
* @var \DateInterval|null
*/
public static $refreshTokensExpireAt;

/**
* The date when personal access tokens expire.
*
* @var \DateTimeInterface|null
* @var \DateInterval|null
*/
public static $personalAccessTokensExpireAt;

Expand Down Expand Up @@ -253,58 +251,52 @@ public static function tokensCan(array $scopes)
}

/**
* Get or set when access tokens expire.
* Get or set access tokens lifetime.
*
* @param \DateTimeInterface|null $date
* @param DateInterval|null $dateInterval
* @return \DateInterval|static
*/
public static function tokensExpireIn(DateTimeInterface $date = null)
public static function tokensExpireIn(DateInterval $dateInterval = null)
{
if (is_null($date)) {
return static::$tokensExpireAt
? Carbon::now()->diff(static::$tokensExpireAt)
: new DateInterval('P1Y');
if ($dateInterval === null) {
return static::$tokensExpireAt ?: new DateInterval('P1Y');
}

static::$tokensExpireAt = $date;
static::$tokensExpireAt = $dateInterval;

return new static;
}

/**
* Get or set when refresh tokens expire.
*
* @param \DateTimeInterface|null $date
* @param DateInterval|null $dateInterval
* @return \DateInterval|static
*/
public static function refreshTokensExpireIn(DateTimeInterface $date = null)
public static function refreshTokensExpireIn(DateInterval $dateInterval = null)
{
if (is_null($date)) {
return static::$refreshTokensExpireAt
? Carbon::now()->diff(static::$refreshTokensExpireAt)
: new DateInterval('P1Y');
if ($dateInterval === null) {
return static::$refreshTokensExpireAt ?: new DateInterval('P1Y');
}

static::$refreshTokensExpireAt = $date;
static::$refreshTokensExpireAt = $dateInterval;

return new static;
}

/**
* Get or set when personal access tokens expire.
*
* @param \DateTimeInterface|null $date
* @param DateInterval|null $dateInterval
* @return \DateInterval|static
*/
public static function personalAccessTokensExpireIn(DateTimeInterface $date = null)
public static function personalAccessTokensExpireIn(DateInterval $dateInterval = null)
{
if (is_null($date)) {
return static::$personalAccessTokensExpireAt
? Carbon::now()->diff(static::$personalAccessTokensExpireAt)
: new DateInterval('P1Y');
if ($dateInterval === null) {
return static::$personalAccessTokensExpireAt ?: new DateInterval('P1Y');
}

static::$personalAccessTokensExpireAt = $date;
static::$personalAccessTokensExpireAt = $dateInterval;

return new static;
}
Expand All @@ -317,7 +309,7 @@ public static function personalAccessTokensExpireIn(DateTimeInterface $date = nu
*/
public static function cookie($cookie = null)
{
if (is_null($cookie)) {
if ($cookie === null) {
return static::$cookie;
}

Expand Down

0 comments on commit 47e22e7

Please sign in to comment.