public void DeleteToken_DeleteCredentials_AreDeleted() { //Arrange string Token = "test"; var Providers = Enum.GetValues(typeof(AuthenticationProvider)); //Act, Assert foreach (AuthenticationProvider provider in Providers) { CredentialsManager CredentialsManager = new CredentialsManager(provider); CredentialsManager.SaveToken(Token); CredentialsManager.DeleteToken(); Assert.AreEqual(CredentialsManager.LoadToken(), string.Empty); } }
/// <summary> /// Autentykuje użytkownika po przez wskazanego providera /// </summary> /// <param name="provider">Dostawca autentykacji</param> /// <returns>Konto użytkownika. Null jeśli nie udało się uwierzytelnić</returns> public async Task <UserPublic> AuthenticateAsync(AuthenticationProvider provider, CancellationToken cancellationToken) { AuthenticationFactory factory = new AuthenticationFactory(); mProvider = factory.CreateProvider(provider); CredentialsManager credentialsManager = new CredentialsManager(provider); string refreshToken = credentialsManager.LoadToken(); if (!string.IsNullOrEmpty(refreshToken)) { return(await mProvider.RefreshUserAsync(refreshToken, cancellationToken).ConfigureAwait(false)); } return(await mProvider.AuthenticateUserAsync(cancellationToken).ConfigureAwait(false)); }