コード例 #1
0
ファイル: TestCredentialManager.cs プロジェクト: MaurycyH/PTM
        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);
            }
        }
コード例 #2
0
        /// <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));
        }