public List <IdentityProvider> getIdentityProviders() { UPSBrowserLogger.LogDebug(loggingCategory, "getIdentityProviders invoked"); List <IdentityProvider> identityProvidersToReturn = new List <IdentityProvider>(); try { SPSecurity.RunWithElevatedPrivileges(delegate() { UPSBrowserLogger.LogDebug(loggingCategory, "Running with elevated privileges"); try { SPContext spContext = Microsoft.SharePoint.SPContext.Current; SPWebApplication webApp = spContext.Site.WebApplication; SPUrlZone spUrlZone = spContext.Site.Zone; SPIisSettings spIisSettings = webApp.GetIisSettingsWithFallback(spUrlZone); SPSecurityTokenServiceManager sptMgr = SPSecurityTokenServiceManager.Local; foreach (SPAuthenticationProvider prov in spIisSettings.ClaimsAuthenticationProviders) { if (prov.GetType() == typeof(Microsoft.SharePoint.Administration.SPTrustedAuthenticationProvider)) { var lp = from SPTrustedLoginProvider spt in sptMgr.TrustedLoginProviders where spt.DisplayName == prov.DisplayName select spt; if ((lp != null) && (lp.Count() > 0)) { SPTrustedLoginProvider loginProv = lp.First(); identityProvidersToReturn.Add(new IdentityProvider { Name = loginProv.Name, DisplayName = loginProv.DisplayName, Description = loginProv.Description, }); } } } } catch (Exception e) { UPSBrowserLogger.LogError(loggingCategory, e.Message); }; }); } catch (System.Exception e) { UPSBrowserLogger.LogError(loggingCategory, $"Error while trying to elevate privileges: {e.Message}"); }; return(identityProvidersToReturn); }
private void button3_Click(object sender, EventArgs e) { SPSecurityTokenServiceManager manager = SPSecurityTokenServiceManager.Local; string providerName = (string)listBox1.SelectedItem; SPTrustedLoginProvider provider = manager.TrustedLoginProviders[providerName]; manager.TrustedLoginProviders.Remove(provider.Id); manager.Update(); }
private static void Main() { SPSecurity.RunWithElevatedPrivileges(delegate { var farm = SPFarm.Local; var service = farm.Services.GetValue <SPWebService>(""); SPSecurityTokenServiceManager sptMgr = SPSecurityTokenServiceManager.Local; Console.WriteLine("list of authentication providers"); foreach (SPWebApplication spWebApplication in service.WebApplications) { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("----------------------------------------"); Console.WriteLine("Web Application name : " + spWebApplication.Name); Console.WriteLine(""); foreach (KeyValuePair <SPUrlZone, SPIisSettings> spIisSettingse in spWebApplication.IisSettings) { Console.WriteLine(spIisSettingse.Key + " : " + spWebApplication.IisSettings[spIisSettingse.Key].AuthenticationMode.ToString()); SPIisSettings theSettings = spWebApplication.GetIisSettingsWithFallback(spIisSettingse.Key); //Console.WriteLine("IsTrustedClaimsAuthenticationProvider : " + theSettings.UseTrustedClaimsAuthenticationProvider); if (theSettings.ClaimsAuthenticationProviders != null) //&& theSettings.UseTrustedClaimsAuthenticationProvider { //get the list of authentication providers associated with the zone foreach (SPAuthenticationProvider prov in theSettings.ClaimsAuthenticationProviders) { //get the SPTrustedLoginProvider using the DisplayName SPAuthenticationProvider prov1 = prov; var lp = from SPTrustedLoginProvider spt in sptMgr.TrustedLoginProviders where spt.DisplayName == prov1.DisplayName select spt; //there should only be one match, so retrieve that var loginProviders = lp as SPTrustedLoginProvider[] ?? lp.ToArray(); if ((loginProviders.Any())) { //get the login provider SPTrustedLoginProvider provider = loginProviders.First(); Console.WriteLine("Claims provider name : " + provider.ClaimProviderName); } } } } Console.WriteLine("----------------------------------------"); } Console.ReadLine(); Console.ReadKey(); }); }
private void button2_Click(object sender, EventArgs e) { listBox1.Items.Clear(); SPSecurityTokenServiceManager manager = SPSecurityTokenServiceManager.Local; SPTrustedLoginProviderCollection providers = manager.TrustedLoginProviders; foreach (SPTrustedLoginProvider provider in providers) { listBox1.Items.Clear(); listBox1.Items.Add(provider.Name); } }
private void button4_Click(object sender, EventArgs e) { SPSecurityTokenServiceManager manager = SPSecurityTokenServiceManager.Local; string providerName = (string)listBox1.SelectedItem; SPTrustedLoginProvider provider = manager.TrustedLoginProviders[providerName]; provider.UseWReplyParameter = true; provider.ProviderRealm = "https://spdev0223/_trust/"; provider.ProviderUri = new Uri("http://localhost:48924/WingtipSTS/default.aspx"); provider.Update(); manager.Update(); }
private void button1_Click(object sender, EventArgs e) { List <SPTrustedClaimTypeInformation> claimMapping = new List <SPTrustedClaimTypeInformation>(); List <string> strClaimMapping = new List <string>(); SPTrustedClaimTypeInformation idClaim = new SPTrustedClaimTypeInformation("EmailAddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"); SPTrustedClaimTypeInformation titleClaim = new SPTrustedClaimTypeInformation("Title", "http://schemas.wingtip.com/sharepoint/2009/08/claims/title", "http://schemas.wingtip.com/sharepoint/2009/08/claims/title"); titleClaim.AcceptOnlyKnownClaimValues = true; idClaim.AddKnownClaimValue("*****@*****.**"); idClaim.AddKnownClaimValue("*****@*****.**"); idClaim.AddKnownClaimValue("*****@*****.**"); titleClaim.AddKnownClaimValue("Engineer"); titleClaim.AddKnownClaimValue("Manager"); titleClaim.AddKnownClaimValue("CEO"); //creating the string[] for all claims, this is required for the construction of SPTrustedLoginProvider strClaimMapping.Add(idClaim.InputClaimType); strClaimMapping.Add(titleClaim.InputClaimType); X509Certificate2 ImportTrustCertificate = new X509Certificate2(@"C:\StudentFiles\LabFiles\Module_6\Resources\STSTestCertPub.cer"); claimMapping.Add(idClaim); claimMapping.Add(titleClaim); SPSecurityTokenServiceManager manager = SPSecurityTokenServiceManager.Local; SPTrustedLoginProvider provider = new SPTrustedLoginProvider( manager, "WingtipSTS", "WingtipSTS", new Uri("http://localhost:48924/WingtipSTS/default.aspx"), "https://spdev0223/_trust/", strClaimMapping.ToArray(), idClaim); foreach (SPTrustedClaimTypeInformation claimTypeInfo in claimMapping) { if (claimTypeInfo.InputClaimType == provider.IdentityClaimTypeInformation.InputClaimType) { continue; } provider.AddClaimTypeInformation(claimTypeInfo); } if (ImportTrustCertificate != null) { provider.SigningCertificate = ImportTrustCertificate; } //provider.ClaimProviderName = "ContosoCRMClaimProvider"; provider.UseWReplyParameter = true; manager.TrustedLoginProviders.Add(provider); manager.Update(); }