Мы разработали программу SPFx с
this.context.aadHttpClientFactory.getClient("*myclientid*").then((client:AadHttpClient):void=>{
client.get('*MyWebAPIUrl*?x=1&spsite='+this.context.pageContext.web.absoluteUrl,AadHttpClient.configurations.v1)
.then((response:HttpClientResponse):Promise<any>=>{
return response.json();
})
});
Затем я помещаю эту spfx веб-часть на сайт SP.
В веб-API Azure я получаю токен от клиента в Request.Headers.Authorization.Parameter
:-), но когда я делаю
context = authManager.GetAzureADAccessTokenAuthenticatedContext(wSiteUrl, Request.Headers.Authorization.Parameter);
context.Load(context.Web);
context.ExecuteQuery();
Я получаю ошибку 401.
если я сделаю
context = authManager.GetAppOnlyAuthenticatedContext(wSiteUrl,System.Configuration.ConfigurationManager.AppSettings["ClientId"],System.Configuration.ConfigurationManager.AppSettings["ClientSecret"]);
context.Load(context.Web);
context.ExecuteQuery();
это работает.
Итак, что не так с токеном, переданным клиентом SPFx?
Спасибо за любую помощь
Gilbert