我正在开发一个使用 Outlook 日历 REST API 的 Android 应用程序。我正在尝试保持同步并更新多个用户(会议室)的日历。
我的问题是:
1) 初始授权码在多长时间后过期?
2)而不是刷新令牌?
访问令牌在60 分钟后过期。如果刷新令牌在 6 小时、14 天或 90 天后过期,我无法获得。
3)后者是可配置的吗?我可以让它不过期吗?
`
更新:(来自https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx)
“未提供刷新令牌的生命周期,并且根据策略设置和授权代码授予被 Azure AD 撤销的时间而有所不同。应用程序应该预期并处理新访问令牌请求失败的情况。在这种情况下,它应该返回请求新访问令牌的代码。”
还有:(来自http://blogs.msdn.com/b/exchangedev/archive/2014/03/25/using-oauth2-to-access-calendar-contact-and-mail-api-in-exchange-online -in-office-365.aspx) "刷新令牌没有指定的生命周期。通常,刷新令牌的生命周期相对较长。但是,在某些情况下,刷新令牌会过期、被撤销或缺少所需操作的足够权限。客户端应用程序需要期望和正确处理令牌颁发端点返回的错误。当您收到带有刷新令牌错误的响应时,丢弃当前刷新令牌并请求新的授权码或访问令牌。特别是在授权码授予流程中使用刷新令牌时,如果您收到带有interaction_required 或invalid_grant 错误代码的响应,请丢弃刷新令牌并请求新的授权代码。”
那么如何保证我的应用程序将始终让所有用户登录?
它将在夜间处于飞行模式,并且它也应该从崩溃中自动恢复。我可以在不以编程方式存储凭据的方式对用户进行身份验证的情况下解决问题吗?
谢谢