Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
async loginWithClientUser(
@requestBody() req: LoginRequest,
): Promise {
if (!this.client || !this.user) {
throw new HttpErrors.Unauthorized(AuthErrorKeys.ClientInvalid);
} else if (!this.client.userIds || this.client.userIds.length === 0) {
throw new HttpErrors.UnprocessableEntity(AuthErrorKeys.ClientUserMissing);
} else if (!req.client_secret) {
throw new HttpErrors.BadRequest(AuthErrorKeys.ClientSecretMissing);
}
try {
const payload: ClientAuthCode = {
clientId: this.client.clientId,
user: this.user,
};
return await this.createJWT(payload, this.client);
} catch (error) {
throw new HttpErrors.InternalServerError(
AuthErrorKeys.InvalidCredentials,
);
}
}