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