diff --git a/.appveyor.yml b/.appveyor.yml index 6ab70647b..7c7749d3a 100644 --- a/.appveyor.yml +++ b/.appveyor.yml @@ -10,6 +10,7 @@ install: # Get the version of Node.js - ps: Install-Product node $Env:NODEJS_VERSION # install modules + - rm -rf node_modules - npm install - node --version - npm --version diff --git a/lib/Serverless.js b/lib/Serverless.js index 40bf22488..b795dc195 100644 --- a/lib/Serverless.js +++ b/lib/Serverless.js @@ -79,11 +79,17 @@ class Serverless { const config = configUtils.getConfig(); const currentId = config.userId; const globalConfig = configUtils.getGlobalConfig(); - const isTokenExpired = globalConfig + + let isTokenExpired = false; + if (globalConfig && globalConfig.users && globalConfig.users[currentId] && globalConfig.users[currentId].auth - && !globalConfig.users[currentId].dashboard; + && globalConfig.users[currentId].auth.id_token + && !globalConfig.users[currentId].dashboard) { + isTokenExpired = true; + } + if (isTokenExpired) { this.cli .log('WANRNING: Your login token has expired. Please run "serverless login" to login.'); diff --git a/lib/plugins/logout/logout.js b/lib/plugins/logout/logout.js index 6a5073fcb..e483d512e 100644 --- a/lib/plugins/logout/logout.js +++ b/lib/plugins/logout/logout.js @@ -30,9 +30,12 @@ class Logout { // that invalidate a refresh token in Auth0 (using the Auth0 Management API). if (globalConfig && globalConfig.users && globalConfig.users[currentId]) { - if (globalConfig.users[currentId].dashboard) { + if (globalConfig.users[currentId].dashboard + && globalConfig.users[currentId].dashboard.idToken) { // remove auth tokens from user - configUtils.set(`users.${currentId}.dashboard`, null); + configUtils.set(`users.${currentId}.dashboard.accessToken`, null); + configUtils.set(`users.${currentId}.dashboard.idToken`, null); + configUtils.set(`users.${currentId}.dashboard.expiresAt`, null); // log stat userStats.track('user_loggedOut').then(() => { this.serverless.cli.consoleLog('Successfully logged out.');