mirror of
https://github.com/immich-app/immich.git
synced 2025-01-28 00:59:18 -05:00
3f2513a717
* chore: add typeorm commands to npm and set default database config values * feat: move to server side authentication tokens * fix: websocket should emit error and disconnect on error thrown by the server * refactor: rename cookie-auth-strategy to user-auth-strategy * feat: user tokens and API keys now use SHA256 hash for performance improvements * test: album e2e test remove unneeded module import * infra: truncate api key table as old keys will no longer work with new hash algorithm * fix(server): e2e tests (#1435) * fix: root module paths * chore: linting * chore: rename user-auth to strategy.ts and make validate return AuthUserDto * fix: we should always send HttpOnly for our auth cookies * chore: remove now unused crypto functions and jwt dependencies * fix: return the extra fields for AuthUserDto in auth service validate --------- Co-authored-by: Jason Rasmussen <jrasm91@gmail.com>
16 lines
447 B
TypeScript
16 lines
447 B
TypeScript
import { ICryptoRepository } from '@app/domain';
|
|
import { Injectable } from '@nestjs/common';
|
|
import { compareSync, hash } from 'bcrypt';
|
|
import { randomBytes, createHash } from 'crypto';
|
|
|
|
@Injectable()
|
|
export class CryptoRepository implements ICryptoRepository {
|
|
randomBytes = randomBytes;
|
|
|
|
hashBcrypt = hash;
|
|
compareBcrypt = compareSync;
|
|
|
|
hashSha256(value: string) {
|
|
return createHash('sha256').update(value).digest('base64');
|
|
}
|
|
}
|