Esempio n. 1
0
        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);
                }
            }
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        private void Login()
        {
            SkyDocsService.Login(loginModel.Username, loginModel.Password);

            DialogService.Close();
        }