0

我正在使用At Company 创建的注重隐私的@platform,我想知道确定用户是否“登录”的最快方法是什么。例如,要使用 Firebase Auth 完成此操作,您只需检查当前用户是否为空:

final loggedIn = FirebaseAuth.instance.currentUser != null;

我可以使用@platform 执行类似的检查吗?

我目前的方法是检查钥匙链中的第一个 at 标志并验证它不为空。我觉得我错过了检查这个标志是否真的“经过身份验证”。

 String? loggedInAtsign = await atProtocolService.keyChainManager.getAtSign();
 bool loggedIn = loggedInAtSign != null;
4

1 回答 1

0

如果您在重新打开应用程序时尝试检查它。那么是的,我们有办法检查它。你可以和

String? _currentAtSign;
/// If you have more than 1 @sign in the app.
/// This will return a map like
/// ```
/// <String, bool?>{
///   '@mangotangostable' : true,
///   '@minnu' : false,
/// }
/// ```

Map<String, bool?> atSigns = await atProtocolService.keyChainManager.getAtsignsWithStatus();
if (atSigns.isNotEmpty) {
    _currentAtSign = atSigns.keys.firstWhere((String key) => atSigns[key]!);
}
print(_currentAtSign); // @mangotangostable

但是您的方法也将起作用(简单易行)。

于 2022-02-20T17:21:27.373 回答