From 203b3058a2497fbdf2f1aa2a86bc61b90080ed8e Mon Sep 17 00:00:00 2001 From: fogelito Date: Tue, 5 Jul 2022 16:06:55 +0300 Subject: [PATCH] providerAccessTokenExpiry --- app/config/collections.php | 2 +- app/controllers/api/account.php | 15 ++------------- src/Appwrite/Utopia/Response/Model/Bucket.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Collection.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Deployment.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Document.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Domain.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Execution.php | 4 ++-- src/Appwrite/Utopia/Response/Model/File.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Func.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Key.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Membership.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Platform.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Project.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Session.php | 10 +++++----- src/Appwrite/Utopia/Response/Model/Team.php | 4 ++-- src/Appwrite/Utopia/Response/Model/Token.php | 2 +- src/Appwrite/Utopia/Response/Model/User.php | 8 ++++---- src/Appwrite/Utopia/Response/Model/Webhook.php | 4 ++-- 19 files changed, 41 insertions(+), 52 deletions(-) diff --git a/app/config/collections.php b/app/config/collections.php index ea83ec209d..62c1d5cf1a 100644 --- a/app/config/collections.php +++ b/app/config/collections.php @@ -1452,7 +1452,7 @@ $collections = [ ], [ '$id' => 'providerAccessTokenExpiry', - 'type' => Database::VAR_INTEGER, + 'type' => Database::VAR_DATETIME, 'format' => '', 'size' => 0, 'signed' => true, diff --git a/app/controllers/api/account.php b/app/controllers/api/account.php index 58cdb395c2..95b1cf8202 100644 --- a/app/controllers/api/account.php +++ b/app/controllers/api/account.php @@ -517,7 +517,7 @@ App::get('/v1/account/sessions/oauth2/:provider/redirect') 'providerUid' => $oauth2ID, 'providerAccessToken' => $accessToken, 'providerRefreshToken' => $refreshToken, - 'providerAccessTokenExpiry' => \time() + (int) $accessTokenExpiry, + 'providerAccessTokenExpiry' => Database::dateAddSeconds(new DateTime(), (int)$accessTokenExpiry), 'secret' => Auth::hash($secret), // One way hash encryption to protect DB leak 'expire' => $expire, 'userAgent' => $request->getUserAgent('UNKNOWN'), @@ -661,8 +661,6 @@ App::post('/v1/account/sessions/magic-url') } $loginSecret = Auth::tokenGenerator(); - - //$expire = \time() + Auth::TOKEN_EXPIRATION_CONFIRM; $expire = Database::dateAddSeconds(new DateTime(), Auth::TOKEN_EXPIRATION_CONFIRM); $token = new Document([ @@ -906,8 +904,6 @@ App::post('/v1/account/sessions/phone') } $secret = $phone->generateSecretDigits(); - - //$expire = \time() + Auth::TOKEN_EXPIRATION_PHONE; $expire = Database::dateAddSeconds(new DateTime(), Auth::TOKEN_EXPIRATION_PHONE); $token = new Document([ @@ -1824,7 +1820,7 @@ App::patch('/v1/account/sessions/:sessionId') $session ->setAttribute('providerAccessToken', $oauth2->getAccessToken('')) ->setAttribute('providerRefreshToken', $oauth2->getRefreshToken('')) - ->setAttribute('providerAccessTokenExpiry', \time() + (int) $oauth2->getAccessTokenExpiry('')); + ->setAttribute('providerAccessTokenExpiry', Database::dateAddSeconds(new DateTime(), (int)$oauth2->getAccessTokenExpiry(''))); $dbForProject->updateDocument('sessions', $sessionId, $session); @@ -1967,7 +1963,6 @@ App::post('/v1/account/recovery') throw new Exception('Invalid credentials. User is blocked', 401, Exception::USER_BLOCKED); } - //$expire = \time() + Auth::TOKEN_EXPIRATION_RECOVERY; $expire = Database::dateAddSeconds(new DateTime(), Auth::TOKEN_EXPIRATION_RECOVERY); $secret = Auth::tokenGenerator(); @@ -2127,10 +2122,7 @@ App::post('/v1/account/verification') $roles = Authorization::getRoles(); $isPrivilegedUser = Auth::isPrivilegedUser($roles); $isAppUser = Auth::isAppUser($roles); - $verificationSecret = Auth::tokenGenerator(); - - //$expire = \time() + Auth::TOKEN_EXPIRATION_CONFIRM; $expire = Database::dateAddSeconds(new DateTime(), Auth::TOKEN_EXPIRATION_CONFIRM); $verification = new Document([ @@ -2282,11 +2274,8 @@ App::post('/v1/account/verification/phone') $roles = Authorization::getRoles(); $isPrivilegedUser = Auth::isPrivilegedUser($roles); $isAppUser = Auth::isAppUser($roles); - $verificationSecret = Auth::tokenGenerator(); - $secret = $phone->generateSecretDigits(); - //$expire = \time() + Auth::TOKEN_EXPIRATION_CONFIRM; $expire = Database::dateAddSeconds(new DateTime(), Auth::TOKEN_EXPIRATION_CONFIRM); $verification = new Document([ diff --git a/src/Appwrite/Utopia/Response/Model/Bucket.php b/src/Appwrite/Utopia/Response/Model/Bucket.php index 80563ae375..96cf300f46 100644 --- a/src/Appwrite/Utopia/Response/Model/Bucket.php +++ b/src/Appwrite/Utopia/Response/Model/Bucket.php @@ -20,13 +20,13 @@ class Bucket extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$read', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Collection.php b/src/Appwrite/Utopia/Response/Model/Collection.php index 48bdd1d8a8..bca8d12c2d 100644 --- a/src/Appwrite/Utopia/Response/Model/Collection.php +++ b/src/Appwrite/Utopia/Response/Model/Collection.php @@ -20,13 +20,13 @@ class Collection extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$read', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Deployment.php b/src/Appwrite/Utopia/Response/Model/Deployment.php index 1837c96fce..eddc323182 100644 --- a/src/Appwrite/Utopia/Response/Model/Deployment.php +++ b/src/Appwrite/Utopia/Response/Model/Deployment.php @@ -20,13 +20,13 @@ class Deployment extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('resourceId', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Document.php b/src/Appwrite/Utopia/Response/Model/Document.php index 8b57f4ddb8..811311bbf8 100644 --- a/src/Appwrite/Utopia/Response/Model/Document.php +++ b/src/Appwrite/Utopia/Response/Model/Document.php @@ -46,13 +46,13 @@ class Document extends Any 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$read', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Domain.php b/src/Appwrite/Utopia/Response/Model/Domain.php index 48c4b339f0..621797c963 100644 --- a/src/Appwrite/Utopia/Response/Model/Domain.php +++ b/src/Appwrite/Utopia/Response/Model/Domain.php @@ -25,13 +25,13 @@ class Domain extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('domain', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Execution.php b/src/Appwrite/Utopia/Response/Model/Execution.php index 8cb3abb7f6..fe47d6afd6 100644 --- a/src/Appwrite/Utopia/Response/Model/Execution.php +++ b/src/Appwrite/Utopia/Response/Model/Execution.php @@ -20,13 +20,13 @@ class Execution extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' upate date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$read', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/File.php b/src/Appwrite/Utopia/Response/Model/File.php index e3b36725e9..7d8d810461 100644 --- a/src/Appwrite/Utopia/Response/Model/File.php +++ b/src/Appwrite/Utopia/Response/Model/File.php @@ -26,13 +26,13 @@ class File extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$read', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Func.php b/src/Appwrite/Utopia/Response/Model/Func.php index 2b340379ad..d1ec02bef1 100644 --- a/src/Appwrite/Utopia/Response/Model/Func.php +++ b/src/Appwrite/Utopia/Response/Model/Func.php @@ -22,13 +22,13 @@ class Func extends Model 'type' => self::TYPE_DATETIME, 'description' => 'Function creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => 'Function update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('execute', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Key.php b/src/Appwrite/Utopia/Response/Model/Key.php index 0c3fb607d5..c42bf1a13a 100644 --- a/src/Appwrite/Utopia/Response/Model/Key.php +++ b/src/Appwrite/Utopia/Response/Model/Key.php @@ -25,13 +25,13 @@ class Key extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('name', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Membership.php b/src/Appwrite/Utopia/Response/Model/Membership.php index a9035924d3..1da247f55e 100644 --- a/src/Appwrite/Utopia/Response/Model/Membership.php +++ b/src/Appwrite/Utopia/Response/Model/Membership.php @@ -20,13 +20,13 @@ class Membership extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('userId', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Platform.php b/src/Appwrite/Utopia/Response/Model/Platform.php index 8d4b511101..21fe580640 100644 --- a/src/Appwrite/Utopia/Response/Model/Platform.php +++ b/src/Appwrite/Utopia/Response/Model/Platform.php @@ -25,13 +25,13 @@ class Platform extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('name', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Project.php b/src/Appwrite/Utopia/Response/Model/Project.php index f551193690..967f29dc57 100644 --- a/src/Appwrite/Utopia/Response/Model/Project.php +++ b/src/Appwrite/Utopia/Response/Model/Project.php @@ -27,13 +27,13 @@ class Project extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('name', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Session.php b/src/Appwrite/Utopia/Response/Model/Session.php index 4f2218d11f..2ee2eb1f62 100644 --- a/src/Appwrite/Utopia/Response/Model/Session.php +++ b/src/Appwrite/Utopia/Response/Model/Session.php @@ -20,7 +20,7 @@ class Session extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('userId', [ 'type' => self::TYPE_STRING, @@ -32,7 +32,7 @@ class Session extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' expiration date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('provider', [ 'type' => self::TYPE_STRING, @@ -53,10 +53,10 @@ class Session extends Model 'example' => 'MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3', ]) ->addRule('providerAccessTokenExpiry', [ - 'type' => self::TYPE_INTEGER, + 'type' => self::TYPE_DATETIME, 'description' => 'Date, the Unix timestamp of when the access token expires.', - 'default' => 0, - 'example' => 1592981250, + 'default' => '', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('providerRefreshToken', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Team.php b/src/Appwrite/Utopia/Response/Model/Team.php index 2314558a94..af50515357 100644 --- a/src/Appwrite/Utopia/Response/Model/Team.php +++ b/src/Appwrite/Utopia/Response/Model/Team.php @@ -20,13 +20,13 @@ class Team extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('name', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Token.php b/src/Appwrite/Utopia/Response/Model/Token.php index d70bd0b83e..b8b6517cf6 100644 --- a/src/Appwrite/Utopia/Response/Model/Token.php +++ b/src/Appwrite/Utopia/Response/Model/Token.php @@ -20,7 +20,7 @@ class Token extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('userId', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/User.php b/src/Appwrite/Utopia/Response/Model/User.php index 7b2e23bb2c..a42a164160 100644 --- a/src/Appwrite/Utopia/Response/Model/User.php +++ b/src/Appwrite/Utopia/Response/Model/User.php @@ -21,13 +21,13 @@ class User extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime.', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('name', [ 'type' => self::TYPE_STRING, @@ -39,7 +39,7 @@ class User extends Model 'type' => self::TYPE_DATETIME, 'description' => 'User registration date in Datetime.', 'default' => null, - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('status', [ 'type' => self::TYPE_BOOLEAN, @@ -51,7 +51,7 @@ class User extends Model 'type' => self::TYPE_DATETIME, 'description' => 'Datetime of the most recent password update', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('email', [ 'type' => self::TYPE_STRING, diff --git a/src/Appwrite/Utopia/Response/Model/Webhook.php b/src/Appwrite/Utopia/Response/Model/Webhook.php index 49136256e8..6f79dd9101 100644 --- a/src/Appwrite/Utopia/Response/Model/Webhook.php +++ b/src/Appwrite/Utopia/Response/Model/Webhook.php @@ -25,13 +25,13 @@ class Webhook extends Model 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' creation date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('$updatedAt', [ 'type' => self::TYPE_DATETIME, 'description' => get_class() . ' update date in Datetime', 'default' => '', - 'example' => '1975-06-12 13:30:59', + 'example' => '1975-12-06 13:30:59', ]) ->addRule('name', [ 'type' => self::TYPE_STRING,