private async Task MetaMaskLogin() { ShowMetaMaskMessage = false; Error = null; bool hasMetaMask = await MetaMaskService.HasMetaMask(); if (!hasMetaMask) { ShowMetaMaskMessage = true; } else { try { bool isSiteConnected = await MetaMaskService.IsSiteConnected(); MetaMaskLogin?storedLogin = null; if (!isSiteConnected) { storedLogin = await GetAndStoreHash(); } else { string address = await MetaMaskService.GetSelectedAddress(); storedLogin = await MetaMaskStorageService.GetStoredhash(address); if (storedLogin == null) { storedLogin = await GetAndStoreHash(); } } SkyDocsService.Login(storedLogin.address, storedLogin.hash, isMetaMaskLogin: true); DialogService.Close(); } catch (NoMetaMaskException) { ShowMetaMaskMessage = true; } catch (UserDeniedException) { Error = "MetaMask not allowed to connect to SkyDocs. Please try again."; } catch (Exception ex) { Error = "Failed to sign message. Please try again."; Console.WriteLine(ex); } } }
private async Task DfinityLogin() { var isLoggedIn = await DfinityService.IsLoggedIn(); if (!isLoggedIn) { await DfinityService.Login(); while (!await DfinityService.IsLoggedIn()) { await Task.Delay(TimeSpan.FromMilliseconds(500)); } isLoggedIn = true; } if (isLoggedIn) { SkyDocsService.LoginDfinity(); DialogService.Close(); } }
private void Login() { SkyDocsService.Login(loginModel.Username, loginModel.Password); DialogService.Close(); }