コード例 #1
0
        public StsConfiguration(String host)
        {
            SecurityTokenService = typeof(Sts);
            // this.DefaultTokenType = "http://schemas.microsoft.com/ws/2006/05/identitymodel/tokens/Rsa";
            // this.SecurityTokenHandlers.AddOrReplace(new SimpleWebTokenHandler());

            settings = SecurityTokenServicesSection.Current.GetConfiguration(host);

            // Configure token issuer
            TokenIssuerName = settings.IssuerName;

            // Configure signing and encrypting certificates
            X509Store store = new X509Store(settings.StoreName, settings.StoreLocation);
            try
            {
                store.Open(OpenFlags.ReadOnly);

                SigningCredentials = new X509SigningCredentials(
                    store.FindExactlyOne(settings.SigningCertificateName));

                if (false == String.IsNullOrEmpty(settings.EncryptingCertificateName))
                {
                    EncryptingCredentials = new X509EncryptingCredentials(
                        store.FindExactlyOne(settings.EncryptingCertificateName));
                }
            }
            finally
            {
                store.Close();
            }

            // Load standard claims
            foreach (FieldInfo claim in typeof(ClaimTypes).GetFields())
            {
                standardClaims.Add(claim.Name, claim.GetValue(null) as String);
            }
        }