caccl-authorizer
Advanced tools
Comparing version 1.1.1 to 1.1.2
52
index.js
@@ -361,3 +361,5 @@ // Import libraries | ||
try { | ||
if (await refreshAuthorization(req, refreshToken)) { | ||
const refreshSuccessful = await refreshAuthorization(req, refreshToken); | ||
console.log(`Refreshing because expiry: ${accessTokenExpiry - FIVE_MINS_MS} > ${Date.now()} – `, refreshSuccessful); | ||
if (refreshSuccessful) { | ||
// Refresh was successful. Continue | ||
@@ -569,6 +571,6 @@ return next(); | ||
// Extract token | ||
const accessToken = body.access_token; | ||
const refreshToken = body.refresh_token; | ||
let accessToken = body.access_token; | ||
let refreshToken = body.refresh_token; | ||
const expiresInMs = (body.expires_in * 0.99 * 1000); | ||
const accessTokenExpiry = Date.now() + expiresInMs; | ||
let accessTokenExpiry = Date.now() + expiresInMs; | ||
@@ -581,2 +583,3 @@ // Extract user info | ||
// refresh token | ||
let loggedIn; | ||
if (config.simulateLaunchOnAuthorize && !req.session.launchInfo) { | ||
@@ -596,6 +599,6 @@ // Simulating a launch. Check if we already have the user's | ||
let refreshSuccessful = false; | ||
let refreshResponse; | ||
if (storedRefreshToken) { | ||
// Attempt to refresh | ||
(refreshSuccessful = await refreshAuthorization( | ||
(refreshResponse = await refreshAuthorization( | ||
req, | ||
@@ -606,23 +609,32 @@ storedRefreshToken | ||
if (refreshSuccessful) { | ||
if (refreshResponse) { | ||
// TODO: Kill the current authorization (the one we used to identify | ||
// the user) | ||
} else { | ||
// Refresh failed | ||
// - Save current tokens | ||
// - Login using these tokens | ||
return req.logInManually( | ||
// Extract and overwrite first authorization | ||
({ | ||
accessToken, | ||
refreshToken, | ||
accessTokenExpiry | ||
); | ||
accessTokenExpiry, | ||
} = refreshResponse); | ||
// Set logged in to true so we don't re-login | ||
loggedIn = true; | ||
return; | ||
} | ||
// Refresh failed | ||
// - Use current tokens (don't overwrite them) | ||
// - Log in using these tokens | ||
loggedIn = false; | ||
} | ||
// Nothing to save or look up. Just log in and continue | ||
await req.logInManually( | ||
accessToken, | ||
refreshToken, | ||
accessTokenExpiry | ||
); | ||
// Log in and continue | ||
if (!loggedIn) { | ||
await req.logInManually( | ||
accessToken, | ||
refreshToken, | ||
accessTokenExpiry | ||
); | ||
} | ||
@@ -629,0 +641,0 @@ // If simulating a launch, do that now |
@@ -46,5 +46,2 @@ class MemoryTokenStore { | ||
this._store.set(canvasId, newTokens); | ||
// Return resolve | ||
return Promise.resolve(); | ||
} | ||
@@ -51,0 +48,0 @@ } |
{ | ||
"name": "caccl-authorizer", | ||
"version": "1.1.1", | ||
"version": "1.1.2", | ||
"description": "Acquires Canvas tokens through via OAuth, stores refresh tokens, and refreshes access tokens when they expire.", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
93265
2140