我正在实现我自己的SecurityTokenService,它派生自WIF的STS。我是否需要强制实施取消方法?
默认情况下,Windows Identity Foundation 的 SecurityTokenService 是按调用实例化的,如本文中所述。如果我没有显式缓存任何内容(或执行类似操作),您是否看到应该通过实现 Cancel 方法来处理的任何内容?STS 或 WIF 是否在后台执行用户注销时应处理的操作(调用取消方法)? 例如,如果我一直在缓存令牌,则当用户注销时,我必须将其从 Cancel 方法的缓存中删除。
这取决于您的实现。如果 STS 未实现验证方法,则实现取消是没有意义的。
验证的目的是让收件人可以检查 STS 是否在其过期窗口内的令牌已被吊销(可能通过取消)。
FWIW,我认为 AD FS 不支持取消和验证。很少有现实世界的架构使用它们。
请注意,当用户在 AD FS 中注销时,其与 AD FS 服务器的会话将被撤销。 但是,信赖方仍将接受 AD FS 代表它们颁发的任何令牌。