如何使用AppClientContextFromSPAzureToken

时间:2018-11-05 16:10:41

标签: token spfx

我们用

开发了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客户端传递的令牌有什么问题?

感谢您的帮助

吉尔伯特

0 个答案:

没有答案