You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需用户重复认证,能否直接通过API完成Microsoft Graph API身份验证?

无需用户每90天重新认证的Microsoft Graph API身份验证方案

如果要摆脱90天必须用户重新登录的限制,有两种核心方案可选:

1. 切换到应用权限(Application Permissions)

这是最可靠的长期解决方案。你当前使用的是委派权限(Delegated Permissions),这种权限依赖用户的身份上下文,所以刷新令牌会有90天的有效期上限。而应用权限是让你的服务直接获得独立的API访问权限,不需要绑定到单个用户的登录状态:

  • 需要Azure AD管理员在你的应用注册中添加对应的日历应用权限(比如Calendars.ReadWrite),并完成权限授予(管理员同意)。
  • 认证时使用客户端凭据流(Client Credentials Flow),直接用应用的客户端ID、客户端密钥(或证书)向Azure AD请求访问令牌,全程不需要用户参与,也没有刷新令牌的有效期限制,只要应用权限有效就能持续获取令牌。
  • 注意:这种方式下,你的服务是以自身身份操作日历,需要确保权限范围符合业务需求(比如是否需要访问特定用户的日历,还是所有用户的)。

2. 调整租户级别的刷新令牌策略(仅企业租户可选)

如果你的业务必须保留用户上下文(比如必须以用户自身身份操作其日历),可以联系Azure AD管理员调整租户的刷新令牌生命周期政策:

  • 部分企业租户可以配置延长刷新令牌的有效期,甚至设置为无到期(但这需要严格的安全评估)。
  • 这种配置是租户级别的,由管理员在Azure AD的身份验证方法或令牌生命周期设置中调整,开发者无法自行修改,且不同租户的政策可能受安全合规要求限制。

需要注意的是,第一种方案(应用权限)是大多数自动化服务场景的首选,因为它完全摆脱了用户登录依赖,适合无人值守的系统自动更新日历的需求。

内容的提问来源于stack exchange,提问作者Sofian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 04:36:16