我的 Durandal SPA 应用程序执行 BASIC 身份验证以获取会话令牌,然后将其呈现在标头中以访问 Web API 控制器方法。这工作正常。
成功验证后,我将 access_token 缓存在 localStorage 中,以便我可以从本地存储重新获取它,以在浏览器关闭或刷新时保留会话。令牌被重新获取,但被服务器拒绝并显示未经授权的消息。
这个问题首先说 OP 已经成功地完成了我想要做的事情,所以这当然是可能的,但他展示的代码是(不成功)尝试进行 cookie 映射的示例,我无法判断我的性质从中的问题。
这个问题的答案之一说
幸运的是,WIF 有办法减轻 [重放攻击]。通过配置:
<identityConfiguration>
.......
<tokenReplayDetection enabled="true" />
.....
</identityConfiguration>
事实上,我确实在我的开发工作站上安装了 WIF,但我不知道从哪里开始寻找这个设置。搜索我的 HDD 在 17 个 System.IdentityModel 相关的 DLL 中找到了“tokenReplayDetection”,但在任何配置文件中都没有。
有没有人认为这实际上是问题所在,如果是这样,它住在哪里?任何其他想法也感激不尽。