44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
|
|
/**
|
||
|
|
* SMTP Client Authentication Handler
|
||
|
|
* Authentication mechanisms implementation
|
||
|
|
*/
|
||
|
|
import type { ISmtpConnection, ISmtpAuthOptions, ISmtpClientOptions } from './interfaces.js';
|
||
|
|
import type { CommandHandler } from './command-handler.js';
|
||
|
|
export declare class AuthHandler {
|
||
|
|
private options;
|
||
|
|
private commandHandler;
|
||
|
|
constructor(options: ISmtpClientOptions, commandHandler: CommandHandler);
|
||
|
|
/**
|
||
|
|
* Authenticate using the configured method
|
||
|
|
*/
|
||
|
|
authenticate(connection: ISmtpConnection): Promise<void>;
|
||
|
|
/**
|
||
|
|
* Authenticate using AUTH PLAIN
|
||
|
|
*/
|
||
|
|
private authenticatePlain;
|
||
|
|
/**
|
||
|
|
* Authenticate using AUTH LOGIN
|
||
|
|
*/
|
||
|
|
private authenticateLogin;
|
||
|
|
/**
|
||
|
|
* Authenticate using OAuth2
|
||
|
|
*/
|
||
|
|
private authenticateOAuth2;
|
||
|
|
/**
|
||
|
|
* Select appropriate authentication method
|
||
|
|
*/
|
||
|
|
private selectAuthMethod;
|
||
|
|
/**
|
||
|
|
* Check if OAuth2 token is expired
|
||
|
|
*/
|
||
|
|
private isTokenExpired;
|
||
|
|
/**
|
||
|
|
* Refresh OAuth2 access token
|
||
|
|
*/
|
||
|
|
private refreshOAuth2Token;
|
||
|
|
/**
|
||
|
|
* Validate authentication configuration
|
||
|
|
*/
|
||
|
|
validateAuthConfig(auth: ISmtpAuthOptions): string[];
|
||
|
|
}
|