Identity Server 4 Cookie身份验证与无提示续订

时间:2018-09-11 09:14:43

标签: reactjs authentication cookies asp.net-core-2.0 identityserver4

tldr:问题:身份验证cookie或无提示续订的提供方式是什么?为什么?

我有一个带有.net核心后端和身份服务器4作为身份验证的react应用。

基本上我有两个应用程序

  1. 身份服务器(ef核心,asp身份,自己的数据库)
  2. Web应用(反应+ .net核心后端,自己的数据库)

现在我需要进行身份验证。我使用cookie身份验证的cookie过期时间较长(180天),因此用户无需每次都登录。而且运作良好。唯一的问题是我无法在需要时注销用户。我的意思是,如果用户更改了密码(因为他在身份服务器而不是Web应用程序中更改了密码),我应该从Web应用程序注销他。但是我不能,因为他仍然有有效的cookie。

现在,我正在阅读有关静默更新方法的内容。我想静默更新可以解决这个问题。但这是否会使服务器超载? 还是在react app中进行身份验证的正确方法是什么?为什么?

非常感谢

1 个答案:

答案 0 :(得分:0)

对于AspNet身份,您将需要查看SecurityStamp。这是用户表中的一列,并存储在加密的cookie中,并定期对服务器进行验证。当用户更新密码时,它会更改,您也可以手动触发更改(例如,具有“到处注销”链接,该链接将有效地使所有现有cookie失效。

这是一个很好的解释,它是什么,以及如果需要的话如何覆盖验证间隔:What is ASP.NET Identity's IUserSecurityStampStore<TUser> interface?

对于初始测试,您可能需要将此间隔设置为非常短的时间才能真正看到更改生效。