authenticate method
Future<void>
authenticate(
- ServerConfig serverConfig, {
- ImapClient? imap,
- PopClient? pop,
- SmtpClient? smtp,
override
Implementation
@override
Future<void> authenticate(ServerConfig serverConfig,
{ImapClient? imap, PopClient? pop, SmtpClient? smtp}) async {
final name = userName!;
final tkn = token!;
switch (serverConfig.type) {
case ServerType.imap:
await imap!.authenticateWithOAuth2(name, tkn);
break;
case ServerType.pop:
await pop!.login(name, tkn);
break;
case ServerType.smtp:
await smtp!.authenticate(name, tkn, AuthMechanism.xoauth2);
break;
default:
throw StateError('Unknown server type ${serverConfig.typeName}');
}
}