Super Productivity OneDrive 同步要求自建 Microsoft Entra 应用注册,怎么创建?
2026/9/13 15:51:15 网站建设 项目流程

Super Productivity OneDrive 同步要求自建 Microsoft Entra 应用注册,怎么创建?

【免费下载链接】super-productivitySuper Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, GitLab, GitHub and Open Project.项目地址: https://gitcode.com/GitHub_Trending/su/super-productivity

Super Productivity 的 OneDrive 同步没有内置的 OneDrive client ID,应用分发时不带现成的客户端凭据,因此表单里的Use my own app registration选项始终开启——要启用 OneDrive 同步,你必须先在 Microsoft Entra(Azure AD)里创建一个属于你自己的应用注册(app registration),再把它填回 Super Productivity 的同步设置。这条路径只在桌面版(Electron)Android上可用,Web 版不提供 OneDrive 同步。

按下面的步骤走完后,你会得到一个配置为 public client 的 Entra 应用注册,能在应用里通过Application (Client) ID完成登录,并把同步文件存到 OneDrive 的 App Folder 中。

准备条件

  • 桌面版(Electron)或 Android 版 Super Productivity(Web 版不支持 OneDrive)。
  • 一个可以管理 Entra 应用注册的 Microsoft 账号(文档中的入口是 Microsoft Entra admin center,在App registrationsNew registration里创建)。
  • 打开应用中的同步表单:进入Settings(齿轮图标)→Sync & Backup标签 →Sync区域,打开Enable syncing并把Sync provider选为 OneDrive,表单会显示出需要填写的字段。

第一步:在 Entra 中创建应用注册

在 Microsoft Entra admin center 的App registrations中选择New registration,创建一个注册。关键点是要把它配置成public client,后续两节的设置都围绕这一点展开。

第二步:添加正确的重定向 URI

进入该注册的AuthenticationAdd a platformMobile and desktop applications,在这个平台下添加重定向 URI:

  • 桌面(Electron):superproductivity://oauth-callback/onedrive
  • Android / 手动回退:https://login.microsoftonline.com/common/oauth2/nativeclient

文档明确警告:不要把这两个 URI 注册到WebSingle-page application (SPA)平台下。如果注册在 Web/SPA 平台,token 兑换会失败并返回HTTP 400(例如AADSTS9002327)。

第三步:允许 public client 流程

仍在Authentication页面,把Allow public client flows设为Yes

Super Productivity 使用 PKCE 认证,不发送 client secret。如果这项保持No,登录看似成功,但换取 token 的环节会失败,报HTTP 400 Bad Request,错误码形如AADSTS7000218: ... 'client_assertion' or 'client_secret'

第四步:添加 API 权限

API permissions下添加 Microsoft Graph 的delegated(委托)权限:

  • Files.ReadWrite.AppFolder
  • offline_access

第五步:把应用注册填回 Super Productivity

回到应用的同步表单,逐项填写:

  • Application (Client) ID:必填,填应用注册里的Application (client) ID
  • Tenant ID:个人账号或多租户登录填common,也可以填你具体的租户 ID。
  • Sync Folder Path:同步文件存放在 OneDrive 的App Folder内(例如Super Productivity),不在 OneDrive 根目录。
  • Authenticate:通过应用给出的链接登录。桌面版会自动捕获重定向;Android / 手动回退方式需要把授权码(authorization code)复制回应用。

文件类同步提供方通用的Sync intervalOnly sync manually以及Advanced下的Encryption(客户端加密,密钥不会发送到提供方,且需要在每台设备上设置相同的 key)对 OneDrive 同样适用。首次启用文件类提供方时,设置过程中会提示是否设置加密密码,这一步是可选的,可以跳过之后再从同步设置中启用。

验证与故障判断

判断同步是否工作:

  • 自动同步会在设定的间隔运行,也可以在界面上手动触发一次同步,然后在同步状态或通知中查看是否成功。
  • OneDrive 端:确认 App Folder 里出现了同步文件并在同步后有更新。

如果登录看似成功、随后报HTTP 400 Bad Request,文档给出的判断是:这是“注册不是 public client”的典型特征。按顺序确认两点:

  1. Allow public client flows是否为Yes
  2. 重定向 URI 是否注册在Mobile and desktop applications平台下,而不是 Web/SPA 平台。

应用会在错误信息里带出底层的AADSTSxxxxx错误码,可据此定位原因;上面提到的AADSTS9002327(平台注册错误)和AADSTS7000218(未允许 public client flows)就是两类最常见的情况。

限制

  • OneDrive 同步不可用于 Web 版。
  • 开启/关闭加密会替换远端数据并影响所有设备;各设备必须在下一次同步前设置相同的密钥。
  • 更多同步提供方对比与数据位置说明,见 3.08-Sync-Integration-Comparison、1.02-Configure-Data-Synchronization;OneDrive 之外的提供方字段说明见 2.09-Configure-Sync-Backend。

【免费下载链接】super-productivitySuper Productivity is an advanced todo list app with integrated Timeboxing and time tracking capabilities. It also comes with integrations for Jira, GitLab, GitHub and Open Project.项目地址: https://gitcode.com/GitHub_Trending/su/super-productivity

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询