AAD 共享点 API

Posted

技术标签:

【中文标题】AAD 共享点 API【英文标题】:AAD Sharepoint Api 【发布时间】:2022-01-21 22:20:44 【问题描述】:

我有一个可用的 Rest API,它使用客户端证书访问 SharePoint(云)。 我在 AAD 中使用 App Permissions 注册了我的 Rest API,并希望保护 Rest API。 因此,我需要注册第二个应用程序,它将是一个 ERP 软件,它应该使用客户端密码进行身份验证,并有权访问 Rest API。我只能在 ERP 软件中使用 Http 请求,现在我可以访问当前不受保护的 Rest API 来访问和创建 SharePoint 数据。 有人可以建议如何在 AAD 中为 Rest Api 设置保护,以及如何仅通过 Http 请求和来自我的 ERP 软件的客户端证书(无用户交互)获取 OAuth 令牌?

【问题讨论】:

【参考方案1】:

请检查提供的参考资料,看看它是否是您的情况所需的流程:

您也可以使用证书而不是使用客户端密码来获取令牌。您可以检查 OAuth 2.0 客户端凭据授权,该授权通常用于必须在后台运行的服务器到服务器交互,无需立即与用户交互 以下是使用证书的参考中显示的示例请求

使用证书访问令牌请求

转自second-case-access-token-request-with-a-certificate

POST /tenant/oauth2/v2.0/token HTTP/1.1               // Line breaks for clarity
Host: login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

scope=https%3A%2F%2Fgraph.microsoft.com%2F.default
&client_id=97e0a5b7-d745-40b6-94fe-5f77d35c6e05
&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
&client_assertion=eyJhbGciOiJSUzI1NiIsIng1dCI6Imd4OHRHeXN5amNScUtqRlBuZDdSRnd2d1pJMCJ9.eyJa lot of characters hereM8U3bSUKKJDEg
&grant_type=client_credentials

根据 certificate based changes | github,在清单中进行更改以允许应用程序类型并公开api并授予所需范围的权限

同时检查azuread-oauth-2.0 auth code token exchange using cert-SO Reference

【讨论】:

以上是关于AAD 共享点 API的主要内容,如果未能解决你的问题,请参考以下文章

在AAD 注册 API permission

使用图谱API将文件上传到共享点网站时,获取文件的“找不到该段的资源”

如何使用 REST API 在共享点中创建网页?

连接到共享点时出现 Power BI 错误

如何在休息服务中更新共享点2013列表项

docker通过运行容器制作共享tar镜像包