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

容器应用认证会话生命周期配置及令牌使用技术咨询

关于Azure容器应用认证会话与令牌使用的疑问

额外问题

AppServiceAuthSession cookie的Expire/Max-Age属性设置为Session,导致用户每次关闭浏览器都需重新认证。部分浏览器有标签页持久化设置,但并非所有用户都启用,体验不佳。


会话时长的核心困惑

在容器应用的认证配置中,用户需在特定时间点重新认证,但官方文档未明确说明该时长。我希望尽可能延长已登录用户的会话时长,或至少明确会话过期时间及重新认证的可行操作。

曾看到资料称AppService认证的cookie有效期固定为8小时(容器应用认证应与之类似),但实际测试间隔16小时(当日17:00至次日9:00)访问应用无需重新认证,推翻了该说法。


身份提供商配置与测试细节

我的容器应用认证配置了两个身份提供商:一个依赖AzureAD B2C的自定义OIDC,另一个是Microsoft。

曾假设会话时长由身份提供商的访问令牌生命周期决定。在应用中获取的请求头里,X-MS-CLIENT-PRINCIPAL是Base64编码的JSON,其中包含exp(过期时间)声明,指向身份提供商颁发的访问令牌过期时间:

  • Microsoft登录:令牌过期时间约1小时,原以为会话会在此后失效,但4小时后仍可无需重新认证访问应用;甚至退出Microsoft账号也不影响会话,反之,在应用中退出会同步退出所有需Microsoft会话的服务。
  • 自定义OIDC(Azure AD B2C)登录:令牌过期时间为登录后7天,已通过exp声明确认。当日17:00登录,次日9:00访问无需重新认证,但iat(颁发时间)声明显示为当日9:00左右;不过短时间内重复此操作未出现该情况。

待解答问题

  1. 可配置的用户重新认证最长间隔时长是多少?
  2. 是否可在应用中使用身份提供商的访问令牌(例如,当用户通过Microsoft登录时,代表用户调用GraphApi获取组织信息)?

补充发现

重启容器应用修订版本时,http-auth容器(负责认证并将增强后的请求传递给应用)的日志中,有一项名为EasyAuthConfig的设置,其login/cookieExpiration字段值为08:00:00(8小时),与AppService文档一致。但仍不清楚是否及如何延长该会话(AppService有/.auth/refresh端点,但容器应用调用该端点无效果)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:40:40