Class: AuthenticationService
Defined in: src/auth/authentication-service.ts:149
Main authentication service.
Remarks
Orchestrates DID resolution, verification, session management, and token issuance for a complete authentication flow.
Example
const authService = new AuthenticationService({
redis,
logger,
didResolver,
jwtService,
sessionManager,
refreshTokenManager,
});
// Authenticate with PDS token
const result = await authService.authenticateWithDID(
'did:plc:abc123',
{ type: 'pds_token', value: pdsToken }
);
if (result.success) {
// Use result.sessionToken
} else if (result.mfaRequired) {
// Handle MFA challenge
}
Implements
Constructors
new AuthenticationService()
new AuthenticationService(
options):AuthenticationService
Defined in: src/auth/authentication-service.ts:163
Creates a new AuthenticationService.
Parameters
options
Service options
Returns
Methods
authenticateWithDID()
authenticateWithDID(
did,credential):Promise<AuthenticationResult>
Defined in: src/auth/authentication-service.ts:180
Authenticates a user via DID and credential verification.
Parameters
did
User's DID
credential
Authentication credential
Returns
Promise<AuthenticationResult>
Authentication result
Implementation of
IAuthenticationService.authenticateWithDID
completeMFAChallenge()
completeMFAChallenge(
challengeId,method,value):Promise<AuthenticationResult>
Defined in: src/auth/authentication-service.ts:363
Completes an MFA challenge.
Parameters
challengeId
string
Challenge ID
method
MFA method used
"webauthn" | "totp" | "backup_code"
value
string
MFA code or credential
Returns
Promise<AuthenticationResult>
Authentication result
Implementation of
IAuthenticationService.completeMFAChallenge
issueSessionToken()
issueSessionToken(
did,options?):Promise<SessionToken>
Defined in: src/auth/authentication-service.ts:239
Issues a session token for an authenticated user.
Parameters
did
User's DID
options?
Token options
Returns
Promise<SessionToken>
Session token
Implementation of
IAuthenticationService.issueSessionToken
refreshToken()
refreshToken(
refreshToken):Promise<SessionToken>
Defined in: src/auth/authentication-service.ts:286
Refreshes an access token using a refresh token.
Parameters
refreshToken
string
Refresh token
Returns
Promise<SessionToken>
New session token
Implementation of
IAuthenticationService.refreshToken
revokeToken()
revokeToken(
token):Promise<void>
Defined in: src/auth/authentication-service.ts:323
Revokes a token.
Parameters
token
string
Access or refresh token to revoke
Returns
Promise<void>
Implementation of
IAuthenticationService.revokeToken
verifyToken()
verifyToken(
token):Promise<TokenClaims>
Defined in: src/auth/authentication-service.ts:350
Verifies a token and returns its claims.
Parameters
token
string
JWT access token
Returns
Promise<TokenClaims>
Token claims