public void MissingTenantReturnsFalse()
            {
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var claimsIdentity = new ClaimsIdentity(new[] {
                    TestData.Issuer,
                    TestData.Identifier,
                });

                // Act and assert
                Assert.False(authenticator.IsProviderForIdentity(claimsIdentity));
            }
            public void ThrowsForMissingIssuerClaim()
            {
                // Arrange
                var authenticator = new AzureActiveDirectoryV2Authenticator();
                // Issuer/tenant less identity
                var claimsIdentity = new ClaimsIdentity(new[] {
                    TestData.Identifier
                });

                // Act and assert
                Assert.Throws <ArgumentException>(() => authenticator.GetIdentityInformation(claimsIdentity));
            }
            public void CorrectClaimsReturnTrue()
            {
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var claimsIdentity = new ClaimsIdentity(new[] {
                    TestData.Issuer,
                    TestData.TenantId,
                    TestData.Identifier
                });

                // Act and assert
                Assert.True(authenticator.IsProviderForIdentity(claimsIdentity));
            }
            public void WrongIssuerReturnsFalse()
            {
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var claimsIdentity = new ClaimsIdentity(new[] {
                    new Claim(AzureActiveDirectoryV2Authenticator.V2Claims.Issuer, "wrong issuer", ClaimValueTypes.String, TestData.Authority),
                    TestData.TenantId,
                    TestData.Identifier
                });

                // Act and assert
                Assert.False(authenticator.IsProviderForIdentity(claimsIdentity));
            }
            public void GetUIReturnsCorrectValues()
            {
                // Arrange
                var authenticator = new AzureActiveDirectoryV2Authenticator();

                //Act
                var ui = authenticator.GetUI();

                //Assert
                Assert.NotNull(ui);
                Assert.Equal(Strings.MicrosoftAccount_SignInMessage, ui.SignInMessage);
                Assert.Equal(Strings.MicrosoftAccount_AccountNoun, ui.AccountNoun);
                Assert.Equal(Strings.MicrosoftAccount_SignInMessage, ui.RegisterMessage);
            }
示例#6
0
            public void ThrowsForMissingEmailAndPreferredUsernameClaim()
            {
                // Arrange
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var claimsIdentity = new ClaimsIdentity(new[] {
                    TestData.Issuer,
                    TestData.TenantId,
                    TestData.Identifier,
                    TestData.Name
                });

                // Act and assert
                Assert.Throws <ArgumentException>(() => authenticator.GetIdentityInformation(claimsIdentity));
            }
            public void ReturnsAuthInformationForCorrectClaims()
            {
                // Arrange
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var claimsIdentity = new ClaimsIdentity(TestData.GetIdentity());

                // Act
                var result = authenticator.GetIdentityInformation(claimsIdentity);

                //Assert
                Assert.NotNull(result);
                Assert.Equal("blarg", result.Identifier);
                Assert.Equal("bloog", result.Name);
                Assert.Equal(AzureActiveDirectoryV2Authenticator.AuthenticationType.AzureActiveDirectory, result.AuthenticationType);
                Assert.Equal("*****@*****.**", result.Email);
                Assert.Equal(TestData.TEST_TENANT_ID, result.TenantId);
            }
            public void MissingNameClaimDoesNotThrow()
            {
                // Arrange
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var claimsIdentity = new ClaimsIdentity(new[] {
                    TestData.Issuer,
                    TestData.TenantId,
                    TestData.Identifier,
                    TestData.Email
                });

                // Act
                var result = authenticator.GetIdentityInformation(claimsIdentity);

                // Assert
                Assert.NotNull(result);
            }
示例#9
0
            public void DoesNotThrowForMissingEmailClaimIfPreferredUsernameClaimIsPresent()
            {
                // Arrange
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var claimsIdentity = new ClaimsIdentity(new[] {
                    TestData.Issuer,
                    TestData.TenantId,
                    TestData.Identifier,
                    TestData.Name,
                    TestData.PreferredUsername
                });

                // Act
                var result = authenticator.GetIdentityInformation(claimsIdentity);

                // Assert
                Assert.NotNull(result);
                Assert.Equal(TestData.PreferredUsername.Value, result.Email);
            }
            public void ReturnsFormattedIdentifierForMSA()
            {
                // Arrange
                var authenticator  = new AzureActiveDirectoryV2Authenticator();
                var authority      = string.Format(AzureActiveDirectoryV2Authenticator.Authority, AzureActiveDirectoryV2Authenticator.PersonalMSATenant);
                var claimsIdentity = new ClaimsIdentity(new[] {
                    new Claim(AzureActiveDirectoryV2Authenticator.V2Claims.Issuer, authority, ClaimValueTypes.String, TestData.Authority),
                    new Claim(AzureActiveDirectoryV2Authenticator.V2Claims.TenantId, AzureActiveDirectoryV2Authenticator.PersonalMSATenant, ClaimValueTypes.String, TestData.Authority),
                    new Claim(AzureActiveDirectoryV2Authenticator.V2Claims.Identifier, "000000-0000-0000-000A-E45D-63E2-2E4A60", ClaimValueTypes.String, TestData.Authority),
                    TestData.Name,
                    TestData.Email
                });

                // Act
                var result = authenticator.GetIdentityInformation(claimsIdentity);

                //Assert
                Assert.NotNull(result);
                Assert.Equal("0ae45d63e22e4a60", result.Identifier);
                Assert.Equal("bloog", result.Name);
                Assert.Equal(AzureActiveDirectoryV2Authenticator.AuthenticationType.MicrosoftAccount, result.AuthenticationType);
                Assert.Equal("*****@*****.**", result.Email);
                Assert.Equal(AzureActiveDirectoryV2Authenticator.PersonalMSATenant, result.TenantId);
            }