Example #1
0
        public void GetThumbprintTest()
        {
            var thbpr = ThumbprintResolver.ResolveThumbprint("123", "https://stsbridge.cloudapp.net/federationmetadata/2007-06/federationmetadata.xml");

            Assert.AreNotEqual("123", thbpr);
            Assert.AreEqual("E61E395A7C1AF3730E8AFBD256D913FD757E671E", thbpr);
        }
        private static ConfigurationBasedIssuerNameRegistry CreateIssuerNameRegistry(Endpoint serviceInterface)
        {
            GetStsSettingsFromEnvironment(serviceInterface);
            var registry = new ConfigurationBasedIssuerNameRegistry();

            registry.AddTrustedIssuer(ThumbprintResolver.ResolveThumbprint(serviceInterface.Thumbprint, serviceInterface.IssuerAddress), serviceInterface.IssuerAddress);
            return(registry);
        }
        /// <summary>
        /// Call this method to set up the service as claims aware.
        /// </summary>
        /// <param name="config"></param>
        public static void Configure(ServiceConfiguration config)
        {
            var secureSettings = config.GetSecureSettingsForService();
            var serviceRootUrl = config.GetServiceRootUrl();

            if (secureSettings.IsNull())
            {
                return;
            }
            TurnOfSslCertificateValidation(secureSettings);
            config.IdentityConfiguration = new IdentityConfiguration()
            {
                TrustedStoreLocation      = new StoreLocation(),
                AudienceRestriction       = { AudienceMode = AudienceUriMode.Always },
                SaveBootstrapContext      = true,
                IssuerTokenResolver       = new IssuerTokenResolver(),
                CertificateValidationMode = secureSettings.CertificateValidationMode.ParseAsEnum(X509CertificateValidationMode.PeerTrust),
            };
            config.IdentityConfiguration.AudienceRestriction.AllowedAudienceUris.Add(new Uri(string.Format(secureSettings.Audience, serviceRootUrl)));
            config.IdentityConfiguration.IssuerNameRegistry = CreateIssuerNameRegistry(secureSettings);
            config.UseIdentityConfiguration = true;
            ThumbprintResolver.RegisterServiceHost(config);
        }
Example #4
0
 private SecurityToken GetSecurityToken(IWSTrustChannelContract channel, RequestSecurityToken rst)
 {
     try
     {
         RequestSecurityTokenResponse rstr = null;
         var token = channel.Issue(rst, out rstr);
         return(token);
     }
     catch (Exception ex)
     {
         Logging.Exception(ex);
         Logging.DebugMessage(string.Format("Request: user={0}, stsAddress={1} thumbprint={2}", UserName, ServiceSettings.StsAddress, ThumbprintResolver.ResolveThumbprint(ServiceSettings.Thumbprint, ServiceSettings.IssuerAddress)));
         throw;
     }
 }