Saltar a contenido

@cyber-eco/authDocs


server

References

RateLimiter

Re-exports RateLimiter

InMemoryRateLimitStore

Re-exports InMemoryRateLimitStore

authRateLimiter

Re-exports authRateLimiter

apiRateLimiter

Re-exports apiRateLimiter

exportRateLimiter

Re-exports exportRateLimiter

RateLimitConfig

Re-exports RateLimitConfig

RateLimitStore

Re-exports RateLimitStore

RateLimitResult

Re-exports RateLimitResult

Enumerations

ConsentType

Enumeration Members

NECESSARY

NECESSARY: "necessary"

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:17

FUNCTIONAL

FUNCTIONAL: "functional"

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:18

ANALYTICS

ANALYTICS: "analytics"

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:19

MARKETING

MARKETING: "marketing"

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:20

PERSONALIZATION

PERSONALIZATION: "personalization"

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:21

Classes

GDPRService

Methods

getInstance()

static getInstance(store?): GDPRService

Parameters

store?: GDPRStore

Returns

GDPRService

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:118

recordConsent()

recordConsent(userId, consentType, granted, metadata?): Promise\<void>

Record user consent

Parameters

userId: string

consentType: ConsentType

granted: boolean

metadata?

metadata.ipAddress?: string

metadata.userAgent?: string

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:128

getUserConsent()

getUserConsent(userId): Promise\<Record\<ConsentType, boolean>>

Get user's current consent status

Parameters

userId: string

Returns

Promise\<Record\<ConsentType, boolean>>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:157

getConsentHistory()

getConsentHistory(userId): Promise\<ConsentRecord[]>

Get consent history

Parameters

userId: string

Returns

Promise\<ConsentRecord[]>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:164

updatePrivacyPreferences()

updatePrivacyPreferences(userId, preferences): Promise\<void>

Update privacy preferences

Parameters

userId: string

preferences: Partial\<PrivacyPreferences>

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:171

getPrivacyPreferences()

getPrivacyPreferences(userId): Promise\<PrivacyPreferences>

Get privacy preferences

Parameters

userId: string

Returns

Promise\<PrivacyPreferences>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:196

requestDataDeletion()

requestDataDeletion(userId, reason?, metadata?): Promise\<string>

Request data deletion (Right to Erasure)

Parameters

userId: string

reason?: string

metadata?: Record\<string, any>

Returns

Promise\<string>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:219

requestDataPortability()

requestDataPortability(userId, format, metadata?): Promise\<string>

Request data portability

Parameters

userId: string

format: "json" | "csv"

metadata?: Record\<string, any>

Returns

Promise\<string>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:241

getDataProcessingActivities()

getDataProcessingActivities(): Promise\<DataProcessingActivity[]>

Get data processing activities

Returns

Promise\<DataProcessingActivity[]>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:263

generatePrivacyReport()

generatePrivacyReport(userId): Promise\<object>

Generate privacy report

Parameters

userId: string

Returns

Promise\<object>

consents

consents: Record\<ConsentType, boolean>

preferences

preferences: PrivacyPreferences

consentHistory

consentHistory: ConsentRecord[]

processingActivities

processingActivities: DataProcessingActivity[]

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:299

canTrackUser()

canTrackUser(userId, trackingType): Promise\<boolean>

Check if user can be tracked

Parameters

userId: string

trackingType: ConsentType

Returns

Promise\<boolean>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:323


SessionService

Constructors

new SessionService()

new SessionService(store?): SessionService

Parameters

store?: SessionStore

Returns

SessionService

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:94

Methods

createSession()

createSession(userId, deviceInfo, location?): Promise\<Session>

Create a new session

Parameters

userId: string

deviceInfo: DeviceInfo

location?: GeolocationData

Returns

Promise\<Session>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:102

getSession()

getSession(sessionId): Promise\<null | Session>

Get session by ID

Parameters

sessionId: string

Returns

Promise\<null | Session>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:143

getUserSessions()

getUserSessions(userId): Promise\<Session[]>

Get all active sessions for a user

Parameters

userId: string

Returns

Promise\<Session[]>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:156

updateActivity()

updateActivity(sessionId, location?): Promise\<void>

Update session activity

Parameters

sessionId: string

location?: GeolocationData

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:180

revokeSession()

revokeSession(sessionId): Promise\<void>

Revoke a session

Parameters

sessionId: string

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:221

revokeAllUserSessions()

revokeAllUserSessions(userId, exceptSessionId?): Promise\<number>

Revoke all sessions for a user

Parameters

userId: string

exceptSessionId?: string

Returns

Promise\<number>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:247

cleanupExpiredSessions()

cleanupExpiredSessions(): Promise\<number>

Clean up expired sessions

Returns

Promise\<number>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:287

getSessionByFingerprint()

getSessionByFingerprint(userId, fingerprint): Promise\<null | Session>

Get session by device fingerprint

Parameters

userId: string

fingerprint: string

Returns

Promise\<null | Session>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:305

validateSession()

validateSession(sessionId, userId?): Promise\<boolean>

Validate session

Parameters

sessionId: string

userId?: string

Returns

Promise\<boolean>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:337

extendSession()

extendSession(sessionId): Promise\<void>

Extend session expiry

Parameters

sessionId: string

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:370

Interfaces

ConsentRecord

Properties

userId

userId: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:6

consentId

consentId: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:7

type

type: ConsentType

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:8

granted

granted: boolean

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:9

timestamp

timestamp: Date

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:10

ipAddress?

optional ipAddress: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:11

userAgent?

optional userAgent: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:12

version

version: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:13


PrivacyPreferences

Properties

userId

userId: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:25

dataCollection

dataCollection: boolean

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:26

dataSharing

dataSharing: boolean

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:27

emailMarketing

emailMarketing: boolean

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:28

pushNotifications

pushNotifications: boolean

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:29

activityTracking

activityTracking: boolean

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:30

thirdPartyIntegrations

thirdPartyIntegrations: boolean

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:31

updatedAt

updatedAt: Date

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:32


DataProcessingActivity

Properties

id

id: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:36

purpose

purpose: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:37

legalBasis

legalBasis: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:38

dataCategories

dataCategories: string[]

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:39

recipients

recipients: string[]

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:40

retentionPeriod

retentionPeriod: string

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:41

safeguards

safeguards: string[]

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:42


GDPRStore

Interface for GDPR data storage Allows for different storage backends (Firestore, PostgreSQL, etc.)

Methods

saveConsent()

saveConsent(consent): Promise\<void>

Parameters

consent: ConsentRecord

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:50

getConsent()

getConsent(userId): Promise\<Record\<ConsentType, boolean>>

Parameters

userId: string

Returns

Promise\<Record\<ConsentType, boolean>>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:51

getConsentHistory()

getConsentHistory(userId): Promise\<ConsentRecord[]>

Parameters

userId: string

Returns

Promise\<ConsentRecord[]>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:52

savePreferences()

savePreferences(preferences): Promise\<void>

Parameters

preferences: PrivacyPreferences

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:53

getPreferences()

getPreferences(userId): Promise\<null | PrivacyPreferences>

Parameters

userId: string

Returns

Promise\<null | PrivacyPreferences>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:54

createDataRequest()

createDataRequest(requestId, type, userId, data): Promise\<void>

Parameters

requestId: string

type: string

userId: string

data: any

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:55


TokenPayload

Extended by

Indexable

[key: string]: unknown

Properties

userId

userId: string

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:29

type

type: "access" | "refresh"

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:30


DecodedToken

Extends

Properties

userId

userId: string

Inherited from

TokenPayload.userId

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:29

type

type: "access" | "refresh"

Inherited from

TokenPayload.type

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:30

iat

iat: number

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:35

exp

exp: number

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:36

iss?

optional iss: string

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:37

sub?

optional sub: string

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:38

aud?

optional aud: string | string[]

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:39


TokenPair

Properties

accessToken

accessToken: string

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:43

refreshToken

refreshToken: string

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:44

expiresIn

expiresIn: number

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:45


DeviceInfo

Properties

userAgent

userAgent: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:9

ipAddress

ipAddress: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:10

fingerprint?

optional fingerprint: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:11

deviceType?

optional deviceType: "unknown" | "mobile" | "tablet" | "desktop"

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:12

browser?

optional browser: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:13

os?

optional os: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:14

deviceId?

optional deviceId: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:15

lastUsed?

optional lastUsed: Date

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:16

trusted?

optional trusted: boolean

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:17


GeolocationData

Properties

city?

optional city: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:21

country?

optional country: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:22

region?

optional region: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:23

latitude?

optional latitude: number

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:24

longitude?

optional longitude: number

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:25


Session

Properties

sessionId

sessionId: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:29

userId

userId: string

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:30

deviceInfo

deviceInfo: DeviceInfo

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:31

createdAt

createdAt: Date

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:32

lastActivity

lastActivity: Date

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:33

expiresAt

expiresAt: Date

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:34

location?

optional location: GeolocationData

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:35

revokedAt?

optional revokedAt: Date

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:36


SessionStore

Methods

save()

save(sessionId, session): Promise\<void>

Parameters

sessionId: string

session: Session

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:41

get()

get(sessionId): Promise\<null | Session>

Parameters

sessionId: string

Returns

Promise\<null | Session>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:42

getByUser()

getByUser(userId): Promise\<Session[]>

Parameters

userId: string

Returns

Promise\<Session[]>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:43

update()

update(sessionId, updates): Promise\<void>

Parameters

sessionId: string

updates: Partial\<Session>

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:44

delete()

delete(sessionId): Promise\<void>

Parameters

sessionId: string

Returns

Promise\<void>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:45

deleteExpired()

deleteExpired(): Promise\<number>

Returns

Promise\<number>

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:46


SSOToken

Properties

token

token: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:39

expiresIn

expiresIn: number

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:40


SSOClaims

Properties

userId

userId: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:44

sourceApp

sourceApp: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:45

targetApp

targetApp: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:46

ssoSession

ssoSession: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:47

permissions?

optional permissions: string[]

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:48

iat?

optional iat: number

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:49


SSOSessionInfo

Properties

sessionId

sessionId: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:53

userId

userId: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:54

createdAt

createdAt: Date

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:55

expiresAt

expiresAt: Date

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:56

sourceApp

sourceApp: string

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:57

activeApps

activeApps: string[]

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:58


TwoFactorSecret

Properties

ascii

ascii: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:8

hex

hex: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:9

base32

base32: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:10

qr_code_ascii

qr_code_ascii: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:11

qr_code_hex

qr_code_hex: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:12

qr_code_base32

qr_code_base32: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:13

google_auth_qr

google_auth_qr: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:14

otpauth_url

otpauth_url: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:15

dataURL?

optional dataURL: string

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:16

backupCodes?

optional backupCodes: string[]

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:17


TwoFactorProvider

Interface for 2FA provider implementations Allows for dynamic loading of speakeasy/qrcode/bcryptjs

Methods

generateSecret()

generateSecret(email, appName): Promise\<TwoFactorSecret>

Parameters

email: string

appName: string

Returns

Promise\<TwoFactorSecret>

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:32

verifyToken()

verifyToken(secret, token): Promise\<boolean>

Parameters

secret: string

token: string

Returns

Promise\<boolean>

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:33

generateBackupCodes()

generateBackupCodes(count): string[]

Parameters

count: number

Returns

string[]

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:34

hashBackupCode()

hashBackupCode(code): Promise\<string>

Parameters

code: string

Returns

Promise\<string>

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:35

verifyBackupCode()

verifyBackupCode(code, hashedCode): Promise\<boolean>

Parameters

code: string

hashedCode: string

Returns

Promise\<boolean>

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:36

Variables

gdprService

const gdprService: GDPRService

Defined in

packages/auth/src/services/serverOnly/gdprService.ts:329


jwtService

const jwtService: JWTService

Defined in

packages/auth/src/services/serverOnly/jwtService.ts:280


sessionService

const sessionService: SessionService

Defined in

packages/auth/src/services/serverOnly/sessionService.ts:423


ssoService

const ssoService: SSOService

Defined in

packages/auth/src/services/serverOnly/ssoService.ts:342


twoFactorService

const twoFactorService: TwoFactorService

Defined in

packages/auth/src/services/serverOnly/twoFactorService.ts:185