【发布时间】:2020-05-07 01:07:55
【问题描述】:
Active Directory 和身份验证通常不是我认为自己是专家的领域。不幸的是,维护大型 .NET 服务器应用程序的任务落在了我身上,我的客户有一个问题需要我回答。
.NET 应用程序使用 Active Directory 来验证帐户。在初始登录时,它会使用 JwtSecurityTokenHandler 生成一个 JWT 令牌。我可以看出令牌的生命周期设置为 60 天,并且我可以看到后续请求在哪里解码传入的令牌以验证请求。
我的客户的问题是:如果他们从 Active Directory 中删除用户,而该用户拥有有效的 JWT 令牌,会发生什么情况?令牌会在创建日期后 60 天到期之前继续工作,还是会立即停止工作?
我对 JWT 机制的模糊理解表明,服务器只是确保令牌正确签名并且在发出请求时不会过期。我认为它不会针对每个请求重新验证 Active Directory 的身份。至少,我不相信 Active Directory 交互是 JwtSecurityTokenHandler 的一部分;如果我们这样做,则必须在验证令牌之后发生。这是正确的吗?
大多数应用程序如何处理这个问题 - 验证针对 AD 的每个入站请求以确保帐户仍然有效是否合理,还是会增加太多开销?
谢谢, 弗兰克
【问题讨论】:
标签: .net active-directory jwt