集成 Azure AD 以进行用户身份验证,并使用 REST API 将数据存储在用户的一个驱动器上



我想将Azure AD服务与我的Web应用程序集成在一起,以验证用户并将文档存储到用户的单驱动位置。

我尝试了Adal4j库示例,其中我在Azure Portal上配置了我的应用程序并能够对其进行认证。但是现在,我需要使用Microsoft Graph API来使用单驱动服务(上传文件(。

你们有什么建议吗?我检查了java示例的图形API。

我尝试了以下图书馆。

https://azure.microsoft.com/en-in/resources/samples/active-directory-java-webapp-openidconnect/

还参考了下面的链接,我没有找到Java的任何示例。

https://learn.microsoft.com/en-us/onedrive/developer/rest-api/?view=odsp-graph-online

听起来您正在尝试使用Java进行OneDrive Graph API调用。

您所指的Adal4j库有一个Wiki,显示了如何使用它。

adal4j github库的Wiki向您展示了如何获取访问令牌并拨打Microsoft Graph在这里:/adal4j-basics

摘录以下:

这是开始使用adal4j的步骤:

实例化Adal AuthenticationContext对象。

字符串权限= " https://login.microsoftonline.com/contoso.onmicrosoft.com/"; executorService service = executors.newfixedthreadpool(1(;

authenticationContext上下文= new AuthenticationContext(权威, 是的,服务(;使用身份验证上下文实例获取 令牌。adal4j提供了不同的方法来基于 您的申请类型。请参阅"获取令牌"部分 适合您实施的方法。

在呼叫Web API中,使用获得的令牌作为携带者令牌。

未来未来= context.acquiretokenbyauthorizationcode(代码,redirecturi,new clientcredential(clientId,clientsecret(,null,null(; AuthenticationResult Result = future.get((;

httpurlConnection conn =(httpurlConnection(url.openconnection((; Conn.SetRequestProperty("授权","持有人" result.getAcCessToken(((;您也可以参考网络的完整示例 使用Adal4j的应用来验证用户并获取MS Graph的令牌 API。

拥有访问令牌后,您将在此处遵循ONEDRIVE Graph API的入门指南:https://learn.microsoft.com/en-us/onedrive/developer/developer/rest-api/rest-api/getting-started/-w-----查看= ODSP-Graph-online

摘录以下:

  1. 用户身份验证并授权您的应用程序Microsoft Graph和OneDrive API使用OAuth 2.0进行授权。通过完成OAuth 流量,您的应用程序会收到一个访问令牌,可提供对 Microsoft将用户的特定权限集合为

您的应用程序通过http提供了每个请求中的访问令牌 标题:

授权:承载{token}

有关授权您的申请并获得的更多信息 访问令牌,请参阅具有Microsoft Graph的应用程序授权。

  1. 一旦您的应用程序获得授权并接收到访问令牌,请拨打资源,它可以向Microsoft Graph Endpoint提出请求 用于OneDrive或SharePoint资源。构建一个URL 资源,您需要了解根资源的相对URL (例如用户,组或站点(以及驱动器资源或驱动器 资源您的请求是针对的。

请求URL包括以下组件:

Microsoft Graph root URL和版本 (https://graph.microsoft.com/v1.0(根源目标 (/用户/{id}(OneDrive API资源目标(/drive或 /drives/{id}/item/{item-id}或/drive/root:/path/to/item(注意: 在整个文档中,仅部分语法,例如:获取 /drive/item/{item-id}用于简洁起见。前缀 具有正确的根网址和根资源目标的路径 获取完整的资源路径或URL。

如果您有问题,请发表评论。

最新更新