コード例 #1
0
        private static Saml2NameIdentifier ProcessLogoutNameIdentifier(Claim claim)
        {
            var fields = DelimitedString.Split(claim.Value);

            var saml2NameIdentifier = new Saml2NameIdentifier(fields[4]);

            if (!string.IsNullOrEmpty(fields[0]))
            {
                saml2NameIdentifier.NameQualifier = fields[0];
            }
            if (!string.IsNullOrEmpty(fields[1]))
            {
                saml2NameIdentifier.SPNameQualifier = fields[1];
            }
            if (!string.IsNullOrEmpty(fields[2]))
            {
                saml2NameIdentifier.Format = new Uri(fields[2]);
            }
            if (!string.IsNullOrEmpty(fields[3]))
            {
                saml2NameIdentifier.SPProvidedId = fields[3];
            }

            return(saml2NameIdentifier);
        }
コード例 #2
0
        public void DelimitedString_Split_EscapeCharaters()
        {
            var actual   = DelimitedString.Split("a/,b//c,/,,//,");
            var expected = new[] { "a,b/c", ",", "/", "" };

            actual.Should().BeEquivalentTo(expected);
        }
コード例 #3
0
        public void DelimitedString_Split_EndsWithEscapedDelimiter()
        {
            var actual = DelimitedString.Split("a/,");

            var expected = new[] { "a," };

            actual.Should().BeEquivalentTo(expected);
        }
コード例 #4
0
        public void DelimitedString_Split_EmptyStrings()
        {
            var actual = DelimitedString.Split(",aa,,bb,");

            var expected = new[] { "", "aa", "", "bb", "" };

            actual.Should().BeEquivalentTo(expected);
        }
コード例 #5
0
        public void DelimitedString_Split_SimpleWithoutEscaping()
        {
            var actual = DelimitedString.Split("aa,bb,cc");

            var expected = new[] { "aa", "bb", "cc" };

            actual.Should().BeEquivalentTo(expected);
        }