我们用
开发了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 Webpart放在SP站点上。
在Azure Web API中,我从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客户端传递的令牌有什么问题?
感谢您的帮助
吉尔伯特