Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure 从未经身份验证的客户端访问onenote内容_Azure_Azure Active Directory_Microsoft Graph Api_Onenote_Onenote Api - Fatal编程技术网

Azure 从未经身份验证的客户端访问onenote内容

Azure 从未经身份验证的客户端访问onenote内容,azure,azure-active-directory,microsoft-graph-api,onenote,onenote-api,Azure,Azure Active Directory,Microsoft Graph Api,Onenote,Onenote Api,Microsoft Office 365在公立学校领域得到了广泛采用。我正在编写一个应用程序,允许教师与家长就课堂活动、日程安排等进行交流。使用Onenote进行内容交流,使用Outlook/Exchange日历进行日程安排。由于我写这篇文章的学校系统中的教师大量采用了Onenote,因此使用Onenote笔记本作为可从客户端应用程序访问的信息排序的后端是有意义的。我一直在思考如何使用Azure AD进行身份验证。下面是一个场景,我想在浏览Graph、AD、Azure等所有MS文档时得到一些建议

Microsoft Office 365在公立学校领域得到了广泛采用。我正在编写一个应用程序,允许教师与家长就课堂活动、日程安排等进行交流。使用Onenote进行内容交流,使用Outlook/Exchange日历进行日程安排。由于我写这篇文章的学校系统中的教师大量采用了Onenote,因此使用Onenote笔记本作为可从客户端应用程序访问的信息排序的后端是有意义的。我一直在思考如何使用Azure AD进行身份验证。下面是一个场景,我想在浏览Graph、AD、Azure等所有MS文档时得到一些建议。这有点让人难以接受,因为似乎有10种方法可以完成所有事情

  • 客户端是一个移动应用程序,由家长安装在iOS或Android设备上。
    • 家长可以查看学校级别的信息,以及班级级别的信息、文件、照片等。应用程序中的家长部分不需要身份验证。学校工作人员将为内容创建日历和笔记本
    • 每位教师创建一个专用笔记本,其中包含将显示在移动应用程序“页面”上的部分和页面。学校建立了一个笔记本和日历ID列表,应用程序将访问这些ID
    • node.js应用程序充当移动应用程序的REST api,并通过msGraph或onenote api直接充当Office Live的REST客户端
    • 学校系统它为my node.js应用程序提供对每个学校列出的所有Onenote笔记本和Outlook日历的读取权限
    • 或者,每位教师可以授予我的应用程序访问其笔记本和日历的权限,类似于其他应用程序集成的工作方式(docusign等),但我希望it管理员在整个组织的单个点上完成

有了这些设计指南,我的应用程序和Azure AD中需要实现什么样的身份验证方法才能让我的应用程序在没有最终用户(家长)的广告身份验证的情况下访问这些资源?MSDN上的许多相互冲突的示例项目、文章和操作指南让我不知所措。

您需要应用程序级访问Microsoft Graph OneNote API。以下是参考资料:


对于阅读日历和笔记本,您需要日历。阅读和笔记。阅读。所有“应用程序”权限

如果您希望您的应用程序只获得一次授权,并且可以访问整个租户,那么绝对只有AppOnly是一条路要走。