我可以在 OneDrive / Sharepoint 中创建不会过期的令牌吗?

问题描述

我创建了一个 API OneDrive Microsoft App 来列出 odoo 数据库表中的文件夹和文件。客户希望向最终客户发送 onedrive 链接(此表中的字段)以下载文件。我按照 Microsoft Code Flow API 要求做了一个 python 代码。但是,令牌会在一小时后过期。

我尝试了许多 MS Azure API 权限,例如 File.Read、File.Read.All。我还读到我需要授予应用程序权限,所以我这样做了,但是,现在我需要管理员授予同意。在我接近“不太好”的 IT 部门之前,我想再次检查我是否在正确的轨道上或要求不可能的:

  • 我可以设计一个从 OneDrive 或 SharePoint 读取的应用程序并且让令牌过期吗?
  • 如果我让 IT 部门授予管理员许可,我是否能够获得不过期的令牌?
  • 有人有任何建议或解决方法吗?

我使用的是属于公司的 Microsoft 帐户,因此我不是管理员,也不是家庭帐户。

参考:https://docs.microsoft.com/en-us/onedrive/developer/rest-api/getting-started/graph-oauth?view=odsp-graph-online

解决方法

我可以设计一个从 OneDrive 或 SharePoint 读取的应用程序吗? 令牌未过期?

没有。访问令牌必须有到期时间。见access token document

如果我让 IT 部门授予管理员同意,我将能够 获取无过期令牌?

没有。管理员同意不会做这样的事情。

有人有任何建议或解决方法吗?

你可以考虑Configurable token lifetimes in the Microsoft identity platform (preview)请注意,只有该租户的管理员才能设置此项

详细步骤列于 here

注意注意提示。

enter image description here

这意味着以上链接仅适用于移动和桌面客户端。如果您想管理网络浏览器会话的生命周期,请使用 Conditional Access session lifetime feature

有关配置空闲会话超时的 SharePoint Online blog 供您参考。