Skip to main content

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

AuthenticationServiceOptions

Service options

Returns

AuthenticationService

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

DID

User's DID

credential

AuthCredential

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

DID

User's DID

options?

TokenOptions

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

Implementation of

IAuthenticationService.verifyToken