public GetADFSUserNameMixedAuthenticatedContext ( string siteUrl, string user, string password, string domain, string sts, string idpId, int logonTokenCacheExpirationWindow = 10 ) : ClientContext | ||
siteUrl | string | Url of the SharePoint site that's secured via ADFS |
user | string | Name of the user (e.g. administrator) |
password | string | Password of the user |
domain | string | Windows domain of the user |
sts | string | Hostname of the ADFS server (e.g. sts.company.com) |
idpId | string | Identifier of the ADFS relying party that we're hitting |
logonTokenCacheExpirationWindow | int | Optioanlly provide the value of the SharePoint STS logonTokenCacheExpirationWindow. Defaults to 10 minutes. |
return | ClientContext |
internal static SPOnlineConnection InstantiateAdfsConnection(Uri url, PSCredential credentials, PSHost host, int minimalHealthScore, int retryCount, int retryWait, int requestTimeout, string tenantAdminUrl, bool skipAdminCheck = false) { var authManager = new OfficeDevPnP.Core.AuthenticationManager(); var networkCredentials = credentials.GetNetworkCredential(); string adfsHost; string adfsRelyingParty; GetAdfsConfigurationFromTargetUri(url, out adfsHost, out adfsRelyingParty); if (string.IsNullOrEmpty(adfsHost) || string.IsNullOrEmpty(adfsRelyingParty)) { throw new Exception("Cannot retrieve ADFS settings."); } var context = PnPClientContext.ConvertFrom(authManager.GetADFSUserNameMixedAuthenticatedContext(url.ToString(), networkCredentials.UserName, networkCredentials.Password, networkCredentials.Domain, adfsHost, adfsRelyingParty), retryCount, retryWait * 1000); context.RetryCount = retryCount; context.Delay = retryWait * 1000; context.ApplicationName = Properties.Resources.ApplicationName; context.RequestTimeout = requestTimeout; #if !ONPREMISES context.DisableReturnValueCache = true; #elif SP2016 context.DisableReturnValueCache = true; #endif var connectionType = ConnectionType.OnPrem; if (skipAdminCheck == false) { if (IsTenantAdminSite(context)) { connectionType = ConnectionType.TenantAdmin; } } var spoConnection = new SPOnlineConnection(context, connectionType, minimalHealthScore, retryCount, retryWait, null, url.ToString(), tenantAdminUrl, PnPPSVersionTag); spoConnection.ConnectionMethod = Model.ConnectionMethod.ADFS; return(spoConnection); }
internal static SPOnlineConnection InstantiateAdfsConnection(Uri url, PSCredential credentials, PSHost host, int minimalHealthScore, int retryCount, int retryWait, int requestTimeout, string tenantAdminUrl, bool skipAdminCheck = false) { var authManager = new OfficeDevPnP.Core.AuthenticationManager(); var networkCredentials = credentials.GetNetworkCredential(); string adfsHost; string adfsRelyingParty; GetAdfsConfigurationFromTargetUri(url, out adfsHost, out adfsRelyingParty); if (string.IsNullOrEmpty(adfsHost) || string.IsNullOrEmpty(adfsRelyingParty)) { throw new Exception("Cannot retrieve ADFS settings."); } var context = PnPClientContext.ConvertFrom(authManager.GetADFSUserNameMixedAuthenticatedContext(url.ToString(), networkCredentials.UserName, networkCredentials.Password, networkCredentials.Domain, adfsHost, adfsRelyingParty), retryCount, retryWait * 1000); context.RetryCount = retryCount; context.Delay = retryWait * 1000; context.ApplicationName = Properties.Resources.ApplicationName; context.RequestTimeout = requestTimeout; #if !ONPREMISES context.DisableReturnValueCache = true; #elif SP2016 context.DisableReturnValueCache = true; #endif var connectionType = ConnectionType.OnPrem; if (skipAdminCheck == false) { if (IsTenantAdminSite(context)) { connectionType = ConnectionType.TenantAdmin; } } return new SPOnlineConnection(context, connectionType, minimalHealthScore, retryCount, retryWait, null, url.ToString(), tenantAdminUrl, PnPPSVersionTag); }