Как войти с помощью Firebase, C# Visual Studio WINFORMS - PullRequest
0 голосов
/ 07 апреля 2020

Я использовал Firebase в Android Studio и сейчас пытаюсь использовать его в Visual Studio. Я узнал, как зарегистрировать нового пользователя в Firebase Authentification, но у меня проблемы со входом.

Как я регистрируюсь:

FirebaseAuth firebaseAuth = FirebaseAuth.DefaultInstance;
[...]
System.Threading.CancellationToken cancellationToken;
UserRecordArgs user = new UserRecordArgs();
user.Email = email;
user.Password = pw;
try
{
    UserRecord x = await firebaseAuth.CreateUserAsync(user, cancellationToken);
    MessageBox.Show("Account created! You can login now.");
}
catch
{
    MessageBox.Show("Something went wrong! Try later.");
}

Не могу найти эквивалент функции с signInWithEmailAndPassword (email, PW)

1 Ответ

1 голос
/ 07 апреля 2020

Использовать стороннюю библиотеку FirebaseAuthentication. net

    public async Task<bool> SignIn(string email, string password)
    {
        try
        {
            FirebaseAuthProvider mAuthProvider = new FirebaseAuthProvider(new FirebaseConfig("YourFirebaseApiKey"));

            mAuthLink = await mAuthProvider.SignInWithEmailAndPasswordAsync(email, password);
            var firebase = new FirebaseClient(
                  "https://yourfirebasesite.firebaseio.com",
                  new FirebaseOptions
                  {
                      AuthTokenAsyncFactory = () => Task.FromResult(mAuthLink.FirebaseToken)

                  });

            // Process user info from mAuthLink
            Properties.Settings.Default.email_txt = mAuthLink.User.Email;
            Properties.Settings.Default.token_txt = mAuthLink.FirebaseToken;
            Properties.Settings.Default.refresh_token_txt = mAuthLink.RefreshToken;
            Properties.Settings.Default.Save();

            return true;
        }
        catch
        {
            return false;
        }
    }

Для получения дополнительной информации об использовании этой библиотеки я создал Диспетчер учетных записей использовать и сохранять всю информацию журнала в Properties.Settings

Поскольку это Singleton, то легко обрабатывать учетную запись пользователя.

AccountManager.GetInstance().SignIn("email","password");
AccountManager.GetInstance().SignOut();
AccountManager.GetInstance().SignUp("email", "password");
AccountManager.GetInstance().IsSignOut; // Check it's signout yet?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...