Auth Core
Functions
Functions
generateAPIToken
Generate a new API token with environment-specific prefix Format: epic_{env}_{32_random_chars}
Signature:
generateAPIToken(environment: APITokenEnvironment): string
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
environment | APITokenEnvironment | Yes |
Returns:
string -
hashAPIToken
Hash an API token using bcrypt for secure storage
Signature:
hashAPIToken(token: string): Promise<string>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | Yes |
Returns:
Promise<string> -
verifyAPIToken
Verify an API token against its stored hash
Signature:
verifyAPIToken(token: string, hash: string): Promise<boolean>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | Yes | |
hash | string | Yes |
Returns:
Promise<boolean> -
generateKeyPair
Generate RS256 key pair for JWT signing
Signature:
generateKeyPair(): Promise<{ privateKey: string; publicKey: string; }>
Returns:
Promise<{ privateKey: string; publicKey: string; }> -
importKeys
Import JWT configuration with key objects
Signature:
importKeys(config: { privateKey: string; publicKey: string; accessTokenTTL: number; refreshTokenTTL: number; previousPublicKeys?: string[] | undefined; issuer?: string | undefined; }): Promise<{ privateKeyObject: jose.KeyLike; publicKeyObject: jose.KeyLike; config: JWTConfig; }>
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
config | { privateKey: string; publicKey: string; accessTokenTTL: number; refreshTokenTTL: number; previousPublicKeys?: string[] | undefined; issuer?: string | undefined; } | Yes |
Returns:
Promise<{ privateKeyObject: jose.KeyLike; publicKeyObject: jose.KeyLike; config: JWTConfig; }> -
loadKeysFromEnv
Load JWT config from environment variables
Signature:
loadKeysFromEnv(): { privateKey: string; publicKey: string; accessTokenTTL: number; refreshTokenTTL: number; previousPublicKeys?: string[] | undefined; issuer?: string | undefined; }
Returns:
{ privateKey: string; publicKey: string; accessTokenTTL: number; refreshTokenTTL: number; previousPublicKeys?: string[] \| undefined; issuer?: string \| undefined; } -