如何延长Microsoft在线AccessToken与Refresh Token的有效期?
如何延长Azure AD OAuth2.0令牌的有效期
首先明确:你在请求里传入的expires_in参数是无效的,Azure AD的v2.0令牌端点会直接忽略客户端指定的这个参数,access token的默认有效期就是60-90分钟,这个时长无法通过请求参数修改。
要延长令牌相关的有效期,可从以下几个方向处理:
1. 利用Refresh Token的滚动更新机制
Refresh Token默认有效期为90天,且支持滚动更新:每次用有效的refresh token请求新access token时,服务端会返回一个新的refresh token,其有效期会重置为90天。只要你定期(90天内)执行刷新操作,就能持续获取有效令牌。若超过90天未使用,refresh token会过期,需用户重新授权。
2. 通过Azure AD门户配置自定义令牌生命周期
如果你拥有Azure AD管理员权限,且租户具备Azure AD Premium许可证,可在Azure门户中为目标应用注册设置自定义令牌生命周期策略:
- 登录Azure门户,找到对应的应用注册
- 进入「令牌配置」选项卡,添加新的令牌生命周期策略
- 可分别设置access token的最长有效期(最长1天)、refresh token的最长有效期(最长90天,部分场景可延长至1年)
- 该策略会覆盖默认的令牌有效期规则
3. 确认客户端类型与授权流程有效性
确保你的应用是机密客户端(持有client_secret),且当前使用的授权码流程是正确的。公共客户端(如SPA)的refresh token有效期更短,且不支持滚动更新,这类场景下只能依赖用户重新授权。
内容的提问来源于stack exchange,提问作者n01
相关产品推荐
相关产品推荐

