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()); }
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); }
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); }