public void PopulateProviderCredentials_Facebook_CreatesExpectedCredentials()
        {
            const string UserIdClaimValue = "FacebookId";

            FacebookCredentials credentials = new FacebookCredentials();

            TokenEntry tokenEntry = new TokenEntry("facebook");

            tokenEntry.AccessToken = "TestAccessToken";
            List <ClaimSlim> claims = new List <ClaimSlim>
            {
                new ClaimSlim("Claim1", "Value1"),
                new ClaimSlim("Claim2", "Value2"),
                new ClaimSlim("Claim3", "Value3"),
            };

            tokenEntry.UserClaims = claims;
            tokenEntry.UserId     = UserIdClaimValue;

            IPrincipalExtensions.PopulateProviderCredentials(tokenEntry, credentials);

            Assert.Equal("TestAccessToken", credentials.AccessToken);
            Assert.Equal(UserIdClaimValue, credentials.UserId);
            Assert.Equal(claims.Count, credentials.Claims.Count);
            Assert.Equal(claims.Count, credentials.UserClaims.Count());
        }
        public void PopulateProviderCredentials_Google_CreatesExpectedCredentials()
        {
            const string UserIdClaimValue = "GoogleId";

            GoogleCredentials credentials = new GoogleCredentials();

            TokenEntry tokenEntry = new TokenEntry("google");

            tokenEntry.AccessToken  = "TestAccessToken";
            tokenEntry.RefreshToken = "TestRefreshToken";
            tokenEntry.ExpiresOn    = DateTime.Parse("2015-03-12T16:49:28.504Z");
            List <ClaimSlim> claims = new List <ClaimSlim>
            {
                new ClaimSlim("Claim1", "Value1"),
                new ClaimSlim("Claim2", "Value2"),
                new ClaimSlim("Claim3", "Value3"),
            };

            tokenEntry.UserClaims = claims;
            tokenEntry.UserId     = UserIdClaimValue;

            IPrincipalExtensions.PopulateProviderCredentials(tokenEntry, credentials);

            Assert.Equal("TestAccessToken", credentials.AccessToken);
            Assert.Equal("TestRefreshToken", credentials.RefreshToken);
            Assert.Equal(DateTimeOffset.Parse("2015-03-12T16:49:28.504Z"), credentials.AccessTokenExpiration);
            Assert.Equal(UserIdClaimValue, credentials.UserId);
            Assert.Equal(claims.Count, credentials.Claims.Count);
            Assert.Equal(claims.Count, credentials.UserClaims.Count());
        }
        public void PopulateProviderCredentials_AzureActiveDirectory_CreatesExpectedCredentials()
        {
            const string UserIdClaimValue = "AadId";

            AzureActiveDirectoryCredentials credentials = new AzureActiveDirectoryCredentials();

            TokenEntry tokenEntry = new TokenEntry("aad");

            tokenEntry.AccessToken = "TestAccessToken";
            tokenEntry.IdToken     = "TestIdToken";
            tokenEntry.ExpiresOn   = DateTime.Parse("2015-03-12T16:49:28.504Z");
            List <ClaimSlim> claims = new List <ClaimSlim>
            {
                new ClaimSlim("Claim1", "Value1"),
                new ClaimSlim("Claim2", "Value2"),
                new ClaimSlim("Claim3", "Value3"),
                new ClaimSlim(TenantIdClaimType, "TestTenantId"),
                new ClaimSlim(ObjectIdentifierClaimType, "TestObjectId"),
            };

            tokenEntry.UserClaims = claims;
            tokenEntry.UserId     = UserIdClaimValue;

            IPrincipalExtensions.PopulateProviderCredentials(tokenEntry, credentials);

            // For AAD, the id_token value needs to get copied to AccessToken, not the access_token value.
            Assert.Equal("TestIdToken", credentials.AccessToken);
            Assert.Equal("TestTenantId", credentials.Claims.GetValueOrDefault(TenantIdClaimType));
            Assert.Equal("TestObjectId", credentials.Claims.GetValueOrDefault(ObjectIdentifierClaimType));
            Assert.Equal("TestTenantId", credentials.UserClaims.Single(c => string.Equals(c.Type, TenantIdClaimType, StringComparison.Ordinal)).Value);
            Assert.Equal("TestObjectId", credentials.UserClaims.Single(c => string.Equals(c.Type, ObjectIdentifierClaimType, StringComparison.Ordinal)).Value);
            Assert.Equal(UserIdClaimValue, credentials.UserId);
            Assert.Equal(claims.Count, credentials.Claims.Count);
            Assert.Equal(claims.Count, credentials.UserClaims.Count());
        }
Ejemplo n.º 4
0
        public void PopulateProviderCredentials_AzureActiveDirectory_CreatesExpectedCredentials()
        {
            const string UserIdClaimValue = "AadId";

            AzureActiveDirectoryCredentials credentials = new AzureActiveDirectoryCredentials();

            TokenEntry tokenEntry = new TokenEntry("aad");

            tokenEntry.AccessToken = "TestAccessToken";
            tokenEntry.ExpiresOn   = DateTime.Parse("2015-03-12T16:49:28.504Z");
            List <ClaimSlim> claims = new List <ClaimSlim>
            {
                new ClaimSlim("Claim1", "Value1"),
                new ClaimSlim("Claim2", "Value2"),
                new ClaimSlim("Claim3", "Value3"),
                new ClaimSlim(TenantIdClaimType, "TestTenantId"),
                new ClaimSlim(ObjectIdentifierClaimType, "TestObjectId"),
            };

            tokenEntry.UserClaims = claims;
            tokenEntry.UserId     = UserIdClaimValue;

            IPrincipalExtensions.PopulateProviderCredentials(tokenEntry, credentials);

            Assert.Equal("TestAccessToken", credentials.AccessToken);
            Assert.Equal("TestTenantId", credentials.Claims.GetValueOrDefault(TenantIdClaimType));
            Assert.Equal("TestObjectId", credentials.Claims.GetValueOrDefault(ObjectIdentifierClaimType));
            Assert.Equal(UserIdClaimValue, credentials.UserId);
            Assert.Equal(claims.Count, credentials.Claims.Count);
        }
        public void IsTokenValid_ReturnsFalse_WhenTokenIsInvalid()
        {
            // Arrange
            // This is what is returned when a token is not found.
            TokenEntry tokenEntry = null;

            // Act
            bool result = IPrincipalExtensions.IsTokenValid(tokenEntry);

            // Assert
            Assert.False(result);
        }
        public void IsTokenValid_ReturnsTrue_WhenTokenIsValid()
        {
            // Arrange
            TokenEntry tokenEntry = new TokenEntry("facebook");

            tokenEntry.UserId = "userId";
            tokenEntry.AuthenticationToken = "zumoAuthToken";
            tokenEntry.AccessToken         = "accessToken";

            // Act
            bool result = IPrincipalExtensions.IsTokenValid(tokenEntry);

            // Assert
            Assert.True(result);
        }
Ejemplo n.º 7
0
        public void PopulateProviderCredentials_Twitter_CreatesExpectedCredentials()
        {
            TwitterCredentials credentials = new TwitterCredentials();

            TokenEntry tokenEntry = new TokenEntry("twitter");

            tokenEntry.AccessToken       = "TestAccessToken";
            tokenEntry.AccessTokenSecret = "TestAccessTokenSecret";
            List <ClaimSlim> claims = new List <ClaimSlim>
            {
                new ClaimSlim("Claim1", "Value1"),
                new ClaimSlim("Claim2", "Value2"),
                new ClaimSlim("Claim3", "Value3"),
            };

            tokenEntry.UserClaims = claims;

            IPrincipalExtensions.PopulateProviderCredentials(tokenEntry, credentials);

            Assert.Equal("TestAccessToken", credentials.AccessToken);
            Assert.Equal("TestAccessTokenSecret", credentials.AccessTokenSecret);
            Assert.Equal(claims.Count, credentials.Claims.Count);
        }