【发布时间】:2017-07-29 04:08:59
【问题描述】:
我使用以下方法作为此方法的基础 (https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-devquickstarts-webapi-dotnet)。
在设置 azure 后,我得到了所有这些示例。但现在我们需要将其移植到实际现有的移动应用程序和 Web api 应用程序。移动应用可以获取 Bearer 令牌,但是当我们将其传递给 web api 时,我们将其传递到 CSOM 请求中,如下所示,但我们仍然得到一个 401 未经授权的响应。
public static ClientContext GetSharepointBearerClientContext(this JwtTokenDetails tokenDetails)
{
var context = new ClientContext(tokenDetails.SiteUrl);
//context.AuthenticationMode = ClientAuthenticationMode.Anonymous;
context.ExecutingWebRequest += new EventHandler<WebRequestEventArgs>((s, e) =>
{
e.WebRequestExecutor.RequestHeaders["Authorization"] = "Bearer " + tokenDetails.BearerToken;
});
return context;
}
我们的 web api 没有使用上面示例中的任何技术,因为我认为我们应该能够通过标头中的 CSOM 请求传递令牌,但这不起作用,还有什么可以我看?
我已分配 Office 365 Sharepoint Online (Microsoft.Sharepoint) 权限并设置以下内容
我也为应用注册做了同样的事情,我们并没有真正使用!仍然不确定应用注册是如何进入其中的)...
【问题讨论】:
标签: sharepoint azure-active-directory csom