@cyber-eco/auth • Docs
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()¶
staticgetInstance(store?):GDPRService
Parameters¶
• store?: GDPRStore
Returns¶
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¶
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?¶
optionalipAddress:string
Defined in¶
packages/auth/src/services/serverOnly/gdprService.ts:11
userAgent?¶
optionaluserAgent: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¶
Defined in¶
packages/auth/src/services/serverOnly/jwtService.ts:29
type¶
type:
"access"|"refresh"
Inherited from¶
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?¶
optionaliss:string
Defined in¶
packages/auth/src/services/serverOnly/jwtService.ts:37
sub?¶
optionalsub:string
Defined in¶
packages/auth/src/services/serverOnly/jwtService.ts:38
aud?¶
optionalaud: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?¶
optionalfingerprint:string
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:11
deviceType?¶
optionaldeviceType:"unknown"|"mobile"|"tablet"|"desktop"
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:12
browser?¶
optionalbrowser:string
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:13
os?¶
optionalos:string
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:14
deviceId?¶
optionaldeviceId:string
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:15
lastUsed?¶
optionallastUsed:Date
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:16
trusted?¶
optionaltrusted:boolean
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:17
GeolocationData¶
Properties¶
city?¶
optionalcity:string
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:21
country?¶
optionalcountry:string
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:22
region?¶
optionalregion:string
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:23
latitude?¶
optionallatitude:number
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:24
longitude?¶
optionallongitude: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?¶
optionallocation:GeolocationData
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:35
revokedAt?¶
optionalrevokedAt: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?¶
optionalpermissions:string[]
Defined in¶
packages/auth/src/services/serverOnly/ssoService.ts:48
iat?¶
optionaliat: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?¶
optionaldataURL:string
Defined in¶
packages/auth/src/services/serverOnly/twoFactorService.ts:16
backupCodes?¶
optionalbackupCodes: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(
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¶
constgdprService:GDPRService
Defined in¶
packages/auth/src/services/serverOnly/gdprService.ts:329
jwtService¶
constjwtService:JWTService
Defined in¶
packages/auth/src/services/serverOnly/jwtService.ts:280
sessionService¶
constsessionService:SessionService
Defined in¶
packages/auth/src/services/serverOnly/sessionService.ts:423
ssoService¶
constssoService:SSOService
Defined in¶
packages/auth/src/services/serverOnly/ssoService.ts:342
twoFactorService¶
consttwoFactorService:TwoFactorService
Defined in¶
packages/auth/src/services/serverOnly/twoFactorService.ts:185