public static Entities.RelyingParty ToEntity(this RelyingParty relyingParty)
        {
            if (relyingParty == null)
            {
                return(null);
            }

            return(Mapper.Map <RelyingParty, Entities.RelyingParty>(relyingParty));
        }
Esempio n. 2
0
        public void AutomapperConfigurationIsValidToEntity()
        {
            var relyingParty = new IdentityServer3.WsFederation.Models.RelyingParty
            {
                Realm                         = "urn:identityserver",
                Name                          = "Test Relying Party",
                Enabled                       = true,
                ReplyUrl                      = "https://www.google.com/",
                TokenType                     = "urn:oasis:names:tc:SAML:1.0:assertion",
                TokenLifeTime                 = 1000,
                IncludeAllClaimsForUser       = false,
                DefaultClaimTypeMappingPrefix = "https://schema.org/",
                SamlNameIdentifierFormat      = "urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress",
                SignatureAlgorithm            = SecurityAlgorithms.RsaSha256Signature,
                DigestAlgorithm               = SecurityAlgorithms.Sha256Digest,
                ClaimMappings                 = new Dictionary <string, string>
                {
                    { "name", ClaimTypes.Name },
                    { "email", ClaimTypes.Email }
                }
            };

            var entity = relyingParty.ToEntity();

            Assert.NotNull(entity);
            Assert.True(entity.Realm == relyingParty.Realm);
            Assert.True(entity.Name == relyingParty.Name);
            Assert.True(entity.Enabled == relyingParty.Enabled);
            Assert.True(entity.ReplyUrl == relyingParty.ReplyUrl);
            Assert.True(entity.TokenType == relyingParty.TokenType);
            Assert.True(entity.TokenLifeTime == relyingParty.TokenLifeTime);
            Assert.True(entity.IncludeAllClaimsForUser == relyingParty.IncludeAllClaimsForUser);
            Assert.True(entity.DefaultClaimTypeMappingPrefix == relyingParty.DefaultClaimTypeMappingPrefix);
            Assert.True(entity.SamlNameIdentifierFormat == relyingParty.SamlNameIdentifierFormat);
            Assert.True(entity.DigestAlgorithm == relyingParty.DigestAlgorithm);

            Assert.NotNull(entity.ClaimMappings);
            Assert.True(entity.ClaimMappings.Any());
            Assert.True(entity.ClaimMappings.First(x => x.InboundClaim == "name").OutboundClaim == ClaimTypes.Name);

            // TODO: EncryptingCertificate
            Assert.True(entity.EncryptingCertificate == null);

            ModelsMap.Mapper.ConfigurationProvider.AssertConfigurationIsValid();
        }