Sharepoint客户端身份验证

法比奥·卢兹(Fabio Luz)

我正在开发使用Office 365身份验证的Web应用程序。

我需要访问用户的SharePoint文件。该应用程序是一个多租户应用程序,这意味着我不知道Sharepoint URL,但是我可以使用Microsoft Discover API来发现当前用户的Sharepoint URL。

我想使用该Microsoft.Sharepoint.Client访问共享点文件考虑以下代码:

ClientContext context = new ClientContext("https://discoveredserver.sharepoint.com");

// The SharePoint web at the URL.
Web web = context.Web;

// We want to retrieve the web's properties.
context.Load(web);

我收到未经授权的403,因为客户端对象没有凭据。问题是我无法在运行时设置凭据,因为我没有凭据,我唯一拥有的是Bearer令牌,该令牌允许使用HTTP标头授权连接到Sharepoint API。

有什么方法可以设置Sharepoint客户端中的Bearer令牌来调用Sharepoint Web服务?

瓦迪姆·格雷米亚切夫(Vadim Gremyachev)

下面的例子演示了如何明确指定承载令牌ClientContext

public static ClientContext GetClientContext(Uri webUri)
{
    var ctx = new ClientContext(webUri);
    ctx.ExecutingWebRequest += delegate(object sender, WebRequestEventArgs e)
     {
         string realm = TokenHelper.GetRealmFromTargetUrl(webUri); //get the realm 
         string accessToken = TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, webUri.Authority, realm).AccessToken; //get access token
         e.WebRequestExecutor.WebRequest.Headers.Add("Authorization", "Bearer " + accessToken);
     };
     return ctx;
 }

用法

using (var ctx = GetClientContext(webUri))
{
    ctx.Load(ctx.Web);
    ctx.ExecuteQuery();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SharePoint 2007网站的客户端证书身份验证

来自分类Dev

客户端模式下的OpenSSL:验证身份验证

来自分类Dev

Angular JS SSL客户端身份验证

来自分类Dev

致命:[GIT客户端]身份验证失败

来自分类Dev

申请客户端证书进行身份验证

来自分类Dev

使用HttpClient进行客户端身份验证

来自分类Dev

Java:如何添加SSL客户端身份验证

来自分类Dev

Resteasy客户端的基本身份验证

来自分类Dev

Jhipster + REST客户端+身份验证

来自分类Dev

WebAPI 2的客户端身份验证

来自分类Dev

WildFly 9启用客户端证书身份验证

来自分类Dev

Java HTTPServer身份验证-客户端

来自分类Dev

google-endpoints跨客户端身份验证

来自分类Dev

基于Glassfish 4证书的客户端身份验证

来自分类Dev

做SSL客户端身份验证是python

来自分类Dev

客户端证书身份验证与春季启动

来自分类Dev

Python GraphQL gql客户端身份验证

来自分类Dev

redisai客户端密码/身份验证过程

来自分类Dev

OAuth2客户端身份验证春季

来自分类Dev

禁用指定路径的客户端身份验证

来自分类Dev

使用POCO的客户端摘要身份验证

来自分类Dev

google-endpoints跨客户端身份验证

来自分类Dev

贝宝客户端身份验证失败

来自分类Dev

macOS客户端的身份验证和策略管理

来自分类Dev

Java中的客户端证书身份验证

来自分类Dev

客户端的客户端密码验证失败,身份验证代码流上的客户端密码无效

来自分类Dev

具有双向身份验证的服务客户端(2路客户端证书身份验证)

来自分类Dev

在线SharePoint:Windows客户端应用程序可以使用OAuth进行身份验证吗?

来自分类Dev

没有客户端身份验证的ActiveMQ。客户端需要密钥库吗?

Related 相关文章

热门标签

归档