授权应用程序访问 OneDrive

用户需要进行身份验证并授权应用程序访问其数据,之后应用程序才可以向 OneDrive 发出请求。 获得授权的方法有所不同,具体取决于应用程序是面向 OneDrive 和 SharePoint Online 还是 SharePoint Server 2016。

Microsoft Graph、OneDrive 和 SharePoint 支持使用标准的 OAuth2Open ID Connect 授权流程。 使用从这些流程之一中获取的持有者令牌对 Microsoft Graph 的请求进行身份验证。

Microsoft Graph(OneDrive 和 SharePoint Online)

Microsoft Graph 使用 Azure Active Directory 对帐户进行身份验证,并授权应用。 使用 v2.0 终结点,应用可以通过一个身份验证流,让具有 Microsoft 帐户的使用者用户和具有 Azure Active Directory 帐户的工作/学校用户登录。 首先,请了解如何将 OAuth 和 Microsoft Graph 结合使用:

方法 说明
登录 登录 Microsoft 帐户和 OneDrive 个人版。
刷新 刷新访问令牌。
注销 注销 Microsoft 帐户和 OneDrive 个人版。

若要详细了解 Microsoft Graph 身份验证方案的完整列表,请参阅 Microsoft Graph 的应用身份验证

SharePoint Server 2016

OneDrive API 支持将 SharePoint Server 2016 中提供的身份验证机制用于用户和应用身份验证,包括 Microsoft Azure 访问控制服务 (ACS)、Windows NT LAN Manager (NTLM) 和 Active Directory 联合身份验证服务 (AD FS)。 混合客户还可以视需要使用 AAD 身份验证。

AAD 身份验证

若为混合客户或已将本地标识与 AAD 集成的本地客户,可以结合使用 OneDrive API 和标准 OAuth 2.0 身份验证方案,对用户进行身份验证,并生成访问令牌。 OneDrive for Busines 使用 Azure Active Directory 对用户和应用进行身份验证。

方法 说明
登录 登录 AAD 帐户和 OneDrive for Business。
Refresh 刷新访问令牌。

ACS 身份验证

SharePoint Server 2016 支持基于声明的身份验证。 基于声明的身份验证的结果是,SharePoint 安全令牌服务 (STS) 生成基于声明的安全令牌。 SharePoint Server 2016 支持 Windows、基于表单和基于安全断言标记语言 (SAML) 的声明身份验证。

若要执行 ACS 应用身份验证,应用必须获取访问令牌,无论是通过 Microsoft Azure 访问控制服务 (ACS),还是使用 SharePoint Server 2016 信任的证书对访问令牌进行自签名。 然后,访问令牌断言对特定 SharePoint 资源的访问请求,并包含标识应用和关联用户的信息,而非仅验证用户凭据。

若要详细了解这三种用户身份验证方法以及 ACS 应用身份验证,请参阅 SharePoint 2016 的身份验证概述

AD FS 身份验证

OneDrive API 也可以使用 SharePoint Server 2016 中的 AD FS 身份验证,对用户和应用进行身份验证。 通过 Windows Server 2016 中的 AD FS (AD FS 2016),可以向应用添加符合行业标准 OpenID Connect 和 OAuth 2.0 的身份验证和授权,并能让这些应用直接对用户进行 AD FS 身份验证。

可以使用对用户进行 Azure AD 身份验证时使用的同一组工具和库,向应用添加 AD FS 新式验证。 在 AD FS 方案中,由 AD FS(而不是 Azure AD)充当标识提供程序和授权服务器。 其他方面的概念完全相同:为了访问资源,用户直接或通过中介提供凭据并获取令牌。

若要详细了解 AD FS 身份验证,请参阅面向开发者的 ADFS 方案