У меня есть веб-приложение, которое подключается к SharePoint (клиентский клиент) для создания сайтов и различных списков.
Чтобы получить доступ к среде Sharepoint клиентов, я использовал OpenIdConnectAuthenticationOptions
, который запрашивает у пользователя кредитные баллы AAD, а затемразличные параметры, для которых пользователь хочет предоставить доступ (Это приложение и различные необходимые API-доступа настраиваются в AAD - при разрешении доступа к «O365 SharePoint Online»
Использование OpenIdConnectAutheticationOption
, на AuthorizationCode Полученный код используетсячтобы получить «AccessToken». Использование этого «AccessToken» для получения clientContext выдает ошибку:
«401 - не авторизован»
Как получить требуемый токен, который позволяетОперация CSOM?
Код, используемый из - Active Directory Dot net Webapp Multitenant
В контроллере OnboardingController, функция Processcode, после получения AcquireTokenByAuthorizationCodeAsync используется следующий код -
string siteUrl = "https://svtestsite.sharepoint.com/sites/powerapps";
ClientContext ctx = new ClientContext(siteUrl);
ctx.ExecutingWebRequest +=
delegate(object oSender, WebRequestEventArgs webRequestEventArgs)
{
webRequestEventArgs.WebRequestExecutor.RequestHeaders["Authorization"] =
"Bearer " + result.AccessToken; // accessToken;
};
ctx.Load(ctx.Web, p => p.Title);
ctx.ExecuteQuery();
Console.WriteLine(siteUrl);
Console.WriteLine(ctx.Web.Title);