]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/commitdiff
Add refresh_token_expires_in to oauth res
authorChocobozzz <me@florianbigard.com>
Thu, 25 Feb 2021 14:25:48 +0000 (15:25 +0100)
committerChocobozzz <me@florianbigard.com>
Thu, 25 Feb 2021 14:25:48 +0000 (15:25 +0100)
server/lib/auth.ts
server/lib/oauth-model.ts

index 466c9bdd4b86461bce57f6d47d705ebe59a5cd33..dbd421a7b3d6e0b33c1ecbf5dc2286475cc36452 100644 (file)
@@ -19,6 +19,7 @@ const oAuthServer = new OAuthServer({
   useErrorHandler: true,
   accessTokenLifetime: OAUTH_LIFETIME.ACCESS_TOKEN,
   refreshTokenLifetime: OAUTH_LIFETIME.REFRESH_TOKEN,
+  allowExtendedTokenAttributes: true,
   continueMiddleware: true,
   model: require('./oauth-model')
 })
index 3f8b8e6183e645354607125bc7517a9e86e4ebc2..75aee2567bac56466612b4c820e45904323cb623 100644 (file)
@@ -4,7 +4,7 @@ import { logger } from '../helpers/logger'
 import { UserModel } from '../models/account/user'
 import { OAuthClientModel } from '../models/oauth/oauth-client'
 import { OAuthTokenModel } from '../models/oauth/oauth-token'
-import { LRU_CACHE } from '../initializers/constants'
+import { LRU_CACHE, OAUTH_LIFETIME } from '../initializers/constants'
 import { Transaction } from 'sequelize'
 import { CONFIG } from '../initializers/config'
 import * as LRUCache from 'lru-cache'
@@ -192,7 +192,15 @@ async function saveToken (token: TokenInfo, client: OAuthClientModel, user: User
   user.lastLoginDate = new Date()
   await user.save()
 
-  return Object.assign(tokenCreated, { client, user })
+  return {
+    accessToken: tokenCreated.accessToken,
+    accessTokenExpiresAt: tokenCreated.accessTokenExpiresAt,
+    refreshToken: tokenCreated.refreshToken,
+    refreshTokenExpiresAt: tokenCreated.refreshTokenExpiresAt,
+    client,
+    user,
+    refresh_token_expires_in: Math.floor((tokenCreated.refreshTokenExpiresAt.getTime() - new Date().getTime()) / 1000)
+  }
 }
 
 // ---------------------------------------------------------------------------