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

如何在Python中刷新过期的Bearer Token?附MSAL代码示例

Bearer Token 自动刷新实现(Python示例)

针对有效期3599秒的Bearer Token,使用MSAL库可自动完成令牌的缓存与刷新,无需手动计算过期时间。核心逻辑是每次使用令牌前优先从缓存读取,缓存失效时自动从认证服务获取新令牌。

代码示例

# 创建MSAL实例,传入client_id、认证地址和客户端密钥
client = msal.ConfidentialClientApplication(client_id, authority=authority, client_credential=client_secret)

# 先尝试从缓存中查找可用的访问令牌
token_result = client.acquire_token_silent(scope, account=None)

# 如果缓存中有可用令牌,直接使用
if token_result:
  access_token = 'Bearer ' + token_result['access_token']
  print('从缓存加载访问令牌')

# 如果缓存中无可用令牌,从Azure AD获取新令牌
if not token_result:
  token_result = client.acquire_token_for_client(scopes=scope)
  access_token = 'Bearer ' + token_result['access_token']
  print('从Azure AD获取新的访问令牌')

关键说明

  • MSAL库会自动维护令牌缓存,包括跟踪令牌过期时间,调用acquire_token_silent时,若当前令牌即将过期,会自动触发刷新流程
  • 无需手动处理3599秒的有效期计算,库内部已封装该逻辑
  • 确保scope参数与首次获取令牌时保持一致,否则缓存查找会失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 01:12:38