public GetAzureADNativeApplicationAuthenticatedContext ( string siteUrl, string clientId, |
||
siteUrl | string | Site for which the ClientContext object will be instantiated |
clientId | string | The Azure AD Native Application Client ID |
redirectUri | The Azure AD Native Application Redirect Uri | |
tokenCache | Optional token cache. If not specified an in-memory token cache will be used | |
return | ClientContext |
internal static SPOnlineConnection InitiateAzureADNativeApplicationConnection(Uri url, string clientId, Uri redirectUri, int minimalHealthScore, int retryCount, int retryWait, int requestTimeout, bool skipAdminCheck = false) { var authManager = new OfficeDevPnP.Core.AuthenticationManager(); string appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); string configFile = Path.Combine(appDataFolder, "SharePointPnP.PowerShell\\tokencache.dat"); FileTokenCache cache = new FileTokenCache(configFile); var context = PnPClientContext.ConvertFrom(authManager.GetAzureADNativeApplicationAuthenticatedContext(url.ToString(), clientId, redirectUri, cache), retryCount, retryWait * 10000); var connectionType = ConnectionType.OnPrem; if (url.Host.ToUpperInvariant().EndsWith("SHAREPOINT.COM")) { connectionType = ConnectionType.O365; } if (skipAdminCheck == false) { if (IsTenantAdminSite(context)) { connectionType = ConnectionType.TenantAdmin; } } return(new SPOnlineConnection(context, connectionType, minimalHealthScore, retryCount, retryWait, null, url.ToString())); }
internal static SPOnlineConnection InitiateAzureADNativeApplicationConnection(Uri url, string clientId, Uri redirectUri, int minimalHealthScore, int retryCount, int retryWait, int requestTimeout, string tenantAdminUrl, bool skipAdminCheck = false) { var authManager = new OfficeDevPnP.Core.AuthenticationManager(); string appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); string configFile = Path.Combine(appDataFolder, "SharePointPnP.PowerShell\\tokencache.dat"); FileTokenCache cache = new FileTokenCache(configFile); var context = PnPClientContext.ConvertFrom(authManager.GetAzureADNativeApplicationAuthenticatedContext(url.ToString(), clientId, redirectUri, cache), retryCount, retryWait * 10000); var connectionType = ConnectionType.OnPrem; if (url.Host.ToUpperInvariant().EndsWith("SHAREPOINT.COM")) { connectionType = ConnectionType.O365; } if (skipAdminCheck == false) { if (IsTenantAdminSite(context)) { connectionType = ConnectionType.TenantAdmin; } } return new SPOnlineConnection(context, connectionType, minimalHealthScore, retryCount, retryWait, null, url.ToString(), tenantAdminUrl, PnPPSVersionTag); }