Example #1
0
File: Http.cs Project: tandis/PnP
        public static string GetAccessTokenRequiredForRequest(HttpRequestMessage httpRequestMessage, SharePointAcsContext spContext) {
            string accessToken = null;

            if ((spContext.SPAppWebUrl != null) && httpRequestMessage.RequestUri.AbsoluteUri.StartsWith(spContext.SPAppWebUrl.AbsoluteUri)) {
                accessToken = spContext.UserAccessTokenForSPAppWeb;
            }
            else if ((spContext.SPHostUrl != null) && httpRequestMessage.RequestUri.AbsoluteUri.StartsWith(spContext.SPHostUrl.AbsoluteUri)) {
                accessToken = spContext.UserAccessTokenForSPHost;
            }
            else {
                accessToken = spContext.CreateAppOnlyClientContextForSPHost().ToString();
            }

            if (String.IsNullOrEmpty(accessToken)) {
                throw new Exception("Request url did not target the host web or appweb, unable to continue proxying request. The request url is misformatted or you should not be using the proxy.");
            }

            return accessToken;
        }
        public async Task <ActionResult> Index()
        {
            SharePointAcsContext spContext = (SharePointAcsContext)SharePointContextProvider.Current.GetSharePointContext(HttpContext);

            string accessToken = spContext.UserAccessTokenForSPHost;

            System.Web.HttpContext.Current.Session["AccessToken"] = accessToken;
            System.Web.HttpContext.Current.Session["SPHostUrl"]   = spContext.SPHostUrl;

            //Host Web
            string hostToken = spContext.UserAccessTokenForSPHost;

            StringBuilder hostRequestUri = new StringBuilder()
                                           .Append(spContext.SPHostUrl)
                                           .Append("_api/web/title");

            ViewBag.hostTitle = await GetWebTitle(hostRequestUri, hostToken);

            //App Web
            string appToken = spContext.UserAccessTokenForSPAppWeb;

            StringBuilder appRequestUri = new StringBuilder()
                                          .Append(spContext.SPAppWebUrl)
                                          .Append("_api/web/title");

            ViewBag.appTitle = await GetWebTitle(appRequestUri, appToken);

            //Project Context
            using (var projectContext = ContextHelper.GetClientContext(Request.Url))
            {
                // Query the Project Context
                //projectContext.Load(projectContext.Projects);
                // projectContext.ExecuteQuery();

                projectContext.Load(projectContext.Web, web => web.Title);
                projectContext.ExecuteQuery();
                ViewBag.Message = projectContext.Web.Title;
            }
            return(View());
        }
Example #3
0
        public static string GetAccessTokenRequiredForRequest(HttpRequestMessage httpRequestMessage, SharePointAcsContext spContext)
        {
            string accessToken = null;

            if ((spContext.SPAppWebUrl != null) && httpRequestMessage.RequestUri.AbsoluteUri.StartsWith(spContext.SPAppWebUrl.AbsoluteUri))
            {
                accessToken = spContext.UserAccessTokenForSPAppWeb;
            }
            else if ((spContext.SPHostUrl != null) && httpRequestMessage.RequestUri.AbsoluteUri.StartsWith(spContext.SPHostUrl.AbsoluteUri))
            {
                accessToken = spContext.UserAccessTokenForSPHost;
            }
            else
            {
                accessToken = spContext.CreateAppOnlyClientContextForSPHost().ToString();
            }

            if (String.IsNullOrEmpty(accessToken))
            {
                throw new Exception("Request url did not target the host web or appweb, unable to continue proxying request. The request url is misformatted or you should not be using the proxy.");
            }

            return(accessToken);
        }