diff --git a/packages/authentication-local/src/strategy.ts b/packages/authentication-local/src/strategy.ts index 73b453f9a9..aae0795b85 100644 --- a/packages/authentication-local/src/strategy.ts +++ b/packages/authentication-local/src/strategy.ts @@ -51,7 +51,7 @@ export class LocalStrategy extends AuthenticationBaseStrategy { const findParams = Object.assign({}, params, { query }); const entityService = this.app.service(service); - debug('Finding entity with query', params.query); + debug('Finding entity with query', findParams.query); const result = await entityService.find(findParams); const list = Array.isArray(result) ? result : result.data; @@ -106,7 +106,7 @@ export class LocalStrategy extends AuthenticationBaseStrategy { await this.comparePassword(result, password); - const authEntity = await (params.provider ? this.findEntity(username, params) : result); + const authEntity = await (params.provider ? this.findEntity(username, { ...params, [entity]: result }) : result); return { authentication: { strategy: this.name }, diff --git a/packages/authentication/src/jwt.ts b/packages/authentication/src/jwt.ts index c6575367d7..6c5d1dd691 100644 --- a/packages/authentication/src/jwt.ts +++ b/packages/authentication/src/jwt.ts @@ -43,7 +43,13 @@ export class JWTStrategy extends AuthenticationBaseStrategy { } // @ts-ignore - return entityService.get(id, params); + const result = await entityService.get(id, omit(params, ['provider', 'query'])); + + if (params.provider) { + return entityService.get(id, { ...omit(params, 'query'), [entity]: result }); + } else { + return result; + } } async authenticate (authentication: AuthenticationRequest, params: Params) {