mirror of
https://github.com/Tria-plc/edr-platform.git
synced 2026-08-29 16:28:12 +00:00
22 lines
535 B
TypeScript
22 lines
535 B
TypeScript
import { createHash, randomBytes } from 'crypto';
|
|
|
|
export function base64Url(buffer: Buffer): string {
|
|
return buffer
|
|
.toString('base64')
|
|
.replace(/\+/g, '-')
|
|
.replace(/\//g, '_')
|
|
.replace(/=/g, '');
|
|
}
|
|
|
|
export function generateCodeVerifier(): string {
|
|
return base64Url(randomBytes(64));
|
|
}
|
|
|
|
export function generateCodeChallenge(codeVerifier: string): string {
|
|
return base64Url(createHash('sha256').update(codeVerifier).digest());
|
|
}
|
|
|
|
export function generateState(): string {
|
|
return base64Url(randomBytes(32));
|
|
}
|