如何在Microsoft登录OAuth2 v2.0请求AccessToken时指定过期时间?
生成短有效期的Microsoft OAuth2.0 Token方法
自定义过期时间的核心方法
向https://login.microsoftonline.com/{{TENANT_ID}}/oauth2/v2.0/token发送POST请求时,通过claims参数指定token的有效期(单位:秒),就能生成5分钟或更短有效期的token。
请求体示例(x-www-form-urlencoded格式)
grant_type=client_credentials &client_id={{CLIENT_ID}} &client_secret={{CLIENT_SECRET}} &scope={{YOUR_API_SCOPE}} &claims={"access_token":{"exp": {"value": 300}}}
关键参数解释
claims是JSON格式字符串,表单提交场景下需正确转义;若用application/json格式请求,可直接传递JSON结构300对应5分钟有效期,可按需调整为更小值(如60秒对应1分钟)- 若需自定义ID Token的过期时间,将
access_token替换为id_token即可
注意点
- 该方式支持OAuth2.0常见授权类型(client_credentials、authorization code等)
- Azure AD租户存在最小有效期限制,通常不可短于60秒,过短设置会返回错误
- 生成token后可解码JWT,查看
exp字段确认实际过期时间是否符合预期
内容的提问来源于stack exchange,提问作者alergio
相关产品推荐
相关产品推荐

