是否有一种机制来进行AAD认证&;使SharePoint联机身份验证

是否有一种机制来进行AAD认证&;使SharePoint联机身份验证,sharepoint,csom,Sharepoint,Csom,我有一个应用程序,它正在使用正确的作用域成功登录到Microsoft Graph,并使用Microsoft Graph SDK(3.18.xxx)查询SharePoint Online资源:列表、文件等 我想使用Microsoft SharePoint CSOM(16.1.xxx)访问特定于CSOM的功能 这些功能包括LoadClientSidePage,以及所有与ClientSidePage (注意,如果我“重新授权”用户,一切都会很好地工作) 与其让用户登录两次(一次用于Graph,一次用于

我有一个应用程序,它正在使用正确的作用域成功登录到Microsoft Graph,并使用Microsoft Graph SDK(3.18.xxx)查询SharePoint Online资源:列表、文件等

我想使用Microsoft SharePoint CSOM(16.1.xxx)访问特定于CSOM的功能

这些功能包括
LoadClientSidePage
,以及所有与
ClientSidePage

(注意,如果我“重新授权”用户,一切都会很好地工作)

与其让用户登录两次(一次用于Graph,一次用于SharePoint CSOM)--SharePoint CSOM Auth是否有一项功能,我可以在其中将我的
承载者:
访问令牌交换为SharePoint CSOM等价物?(我可能错了,但我认为这是一个
WSFed
令牌)


谢谢

我想这是可能的。您可以将访问令牌连接到csom,如下所示:

public ClientContext GetContext(Uri web, string userPrincipalName, SecureString userPassword)
{
 var context = new ClientContext(web);

 context.ExecutingWebRequest += (sender, e) =>
 {
     //get access token
     e.WebRequestExecutor.RequestHeaders["Authorization"] = "Bearer " + accessToken;
 };

 return context;
}
如何兑换代币

通常,一个访问令牌仅针对一个资源。但是,刷新令牌对您的客户端已获得同意的所有权限都有效-因此,在请求
scope=mail
.read时发出的刷新令牌可用于请求
scope的新访问令牌=api://contoso.com/api/UseResource

另一种可能的方法是代表流使用OAuth2.0。OAuth 2.0代表流(OBO)服务于应用程序调用服务/web API的用例,而服务/web API又需要调用另一个服务/web API

CSOM所需的令牌与SharePoint rest API相同

如果您使用的是V1.0作者端点,请参阅