diff --git a/lib/plugins/services/auth.js b/lib/plugins/services/auth.js index 54888acb..90cb174e 100644 --- a/lib/plugins/services/auth.js +++ b/lib/plugins/services/auth.js @@ -59,9 +59,9 @@ export default async function (session, firebase, ctx, inject) { } }, subscribe() { - + const promises = [] <% if (hasOnAuthStateChanged && !this.unsubscribeAuthStateListener) { %> - return new Promise(resolve => { + promises.push(new Promise(resolve => { this.unsubscribeAuthStateListener = authService.onAuthStateChanged(async authUser => { const claims = authUser ? (await authUser.getIdTokenResult(true)).claims : null @@ -75,11 +75,11 @@ export default async function (session, firebase, ctx, inject) { resolve() }) - }) + })) <% } %> <% if (hasIdTokenChanged && !this.unsubscribeIdTokenListener) { %> - return new Promise(resolve => { + promises.push(new Promise(resolve => { this.unsubscribeIdTokenListener = authService.onIdTokenChanged(async authUser => { const claims = authUser ? (await authUser.getIdTokenResult(true)).claims : null @@ -93,8 +93,9 @@ export default async function (session, firebase, ctx, inject) { resolve() }) - }) + })) <% } %> + return Promise.all(promises) } } inject('fireAuthStore', fireAuthStore)