accountForAuth method
Account auth authenticates as, null when it must stay unattributable.
Implementation
Account? accountForAuth(RelayAuth? auth) {
switch (auth) {
case RelayAuthNever():
return null;
case RelayAuthAllow(:final account):
case RelayAuthRequire(:final account):
return account.signer.canSign() ? account : null;
case null:
// a request that says nothing still authenticates as the logged
// account, so the relay decides when that identity is revealed
final logged = _accounts?.getLoggedAccount();
return logged != null && logged.signer.canSign() ? logged : null;
}
}