public static Uri GetRootSiteUrl(OrganizationId organizationId) { if (organizationId == OrganizationId.ForestWideOrgId) { return(null); } try { Uri uri = SharePointUrl.GetRootSiteUrlFromExchangeAD(organizationId); if (uri != null) { if (uri != SharePointUrl.NoSharePointSubscription) { SharePointUrl.Tracer.TraceDebug <OrganizationId, Uri>(0L, "Found SharePoint Root Site Url in Exchange AD for organization {0}: {1}", organizationId, uri); return(uri); } SharePointUrl.Tracer.TraceDebug <OrganizationId>(0L, "Organization {0} has no SharePoint subscription", organizationId); return(null); } else { uri = SharePointUrl.GetRootSiteUrlFromAAD(organizationId); if (uri == null) { uri = SharePointUrl.NoSharePointSubscription; SharePointUrl.Tracer.TraceDebug <OrganizationId>(0L, "Organization {0} has no SharePoint subscription", organizationId); } try { SharePointUrl.SetRootSiteUrlInExchangeAD(organizationId, uri); } catch (LocalizedException arg) { SharePointUrl.Tracer.TraceError <LocalizedException>(0L, "Failed to set SharePoint Root Site Url in Exchange AD: {0}", arg); } if (uri != SharePointUrl.NoSharePointSubscription) { return(uri); } } } catch (LocalizedException arg2) { SharePointUrl.Tracer.TraceError <LocalizedException>(0L, "Exception while getting the SharePoint Root Site Url: {0}", arg2); } return(null); }
private static Uri GetRootSiteUrlFromAAD(OrganizationId organizationId) { AADClient aadclient = AADClientFactory.Create(organizationId, GraphProxyVersions.Version14); if (aadclient == null) { SharePointUrl.Tracer.TraceDebug <OrganizationId>(0L, "Failed to create AADClient for organization {0}", organizationId); return(null); } Uri rootSiteUrlFromServiceInfo = SharePointUrl.GetRootSiteUrlFromServiceInfo(aadclient); if (rootSiteUrlFromServiceInfo != null) { SharePointUrl.Tracer.TraceDebug <OrganizationId, Uri>(0L, "Found SharePoint Root Site Url in ServiceInfo for organization {0}: {1}", organizationId, rootSiteUrlFromServiceInfo); } return(rootSiteUrlFromServiceInfo); }
private ClientContext GetTenantClientContext() { Uri rootSiteUrl = SharePointUrl.GetRootSiteUrl(this.organizationId); if (rootSiteUrl == null) { return(null); } ClientContext clientContext = new ClientContext(rootSiteUrl); clientContext.ExecutingWebRequest += delegate(object sender, WebRequestEventArgs request) { request.WebRequestExecutor.RequestHeaders.Add(HttpRequestHeader.Authorization, "Bearer"); request.WebRequestExecutor.RequestHeaders.Add("SPResponseGuid", this.activityId.ToString()); request.WebRequestExecutor.WebRequest.PreAuthenticate = true; }; clientContext.Credentials = this.actAsUserCredentials; return(clientContext); }
private static Uri GetRootSiteUrlFromDefaultDomain(AADClient aadClient) { string siteDomainSubstring = SharePointUrl.GetSiteDomainSubstring(); if (string.IsNullOrEmpty(siteDomainSubstring)) { SharePointUrl.Tracer.TraceError(0L, "Failed to get site domain substring"); return(null); } string text = null; try { text = aadClient.GetDefaultDomain(); if (string.IsNullOrEmpty(text)) { SharePointUrl.Tracer.TraceError(0L, "Failed to get default domain"); return(null); } } catch (AADException arg) { SharePointUrl.Tracer.TraceError <AADException>(0L, "GetDefaultDomain failed: {0}", arg); return(null); } int num = text.IndexOf('.'); if (num > 0) { string str = text.Substring(0, num); string str2 = str + (siteDomainSubstring.StartsWith(".", StringComparison.Ordinal) ? siteDomainSubstring : ("." + siteDomainSubstring)); try { return(new Uri("https://" + str2)); } catch (UriFormatException arg2) { SharePointUrl.Tracer.TraceError <string, UriFormatException>(0L, "Invalid Uri: {0}, {1}", "https://" + str2, arg2); } } return(null); }