c# - 从 InTune MDM Xamarin.Android 设备到 SharePoint Online 的身份验证
问题描述
我正在开发需要在后台线程中从 SharePoint Online (SPO) 下载文档的 Xamarin.Android 应用程序(现在使用 SPO REST API)。用户应该正在使用一个应用程序,而它正在悄悄地从 SPO 检索文档。我没有使用 Intune MDM 或 MSAL 库进行身份验证的经验。Android 设备为公司所有 (COD) 并已注册 MS InTune。有没有办法选择设备上注册的用户详细信息并将其与请求一起传递给 SPO?我正在调查的选项是:
- 将 InTune SDK 集成到应用程序中
- 使用 MSAL 库和 Azure 门户中的应用注册进行身份验证
如果可能的话,我会尽量避免将 WebView/浏览器用于 SSO。
解决方案
看起来这个领域没有专家,所以经过大量的研究和试验,我找到了解决方案。如果通过 InTune MDM 注册 Android 移动设备,则不需要 InTune SDK 集成,因为 Microsoft 身份验证库 (MSAL.NET) 可以使用 Intune 公司门户应用(或 Microsoft Authenticator)作为代理。您的 Xamarn.Android 应用程序需要按照以下步骤在 Azure 门户中注册https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app并采用此https:/中的步骤/docs.microsoft.com/en-us/azure/active-directory/develop/msal-android-single-sign-onXamarin.Android 教程使身份验证工作。需要注意的一点是,您需要为 Graph 和 Sharepoint 指定并授予管理员同意以读取用户、站点和文件。
推荐阅读
- c# - 就地更新 PDF 图像
- javascript - React Native:获取函数发送空主体
- neo4j - 从 neo4j 中的 2 个 csv 文件导入数据
- python - 在我的 Django 项目中提取了错误的日期时间
- r - 在 R 中创建另一列
- node.js - Synology 上的 npm install 给出 zlib 无效距离错误
- cmake - CMake 3.12 中的列表排序
- hyperledger-fabric - 需要通道功能 V2_0,但不支持 Fabric V2
- python - python中是否有一个函数来映射日期的值,如[2011,2012,2013,204]到2011-2014。其中 [2003,2006,2007,2008] 至 2003, 2006-2008
- footer - 将信息添加到文档页脚时如何获取 iText7 中的总页码?