我试图弄清楚如何对Cookie和会话使用.net核心身份验证。我希望能够查看当前登录的用户/设备并在必要时撤消其会话。
在进行services.ConfigureApplicationCookie()时,可以使用一个选项来指定会话存储,而不是将用户的登录信息/声明保留在cookie中。可以或应该使用此会话存储来跟踪用户并注销他们吗?还是只是为了使Cookie尺寸变小而使用?
我只需要出于身份验证目的使用会话(对于其余的Web api),我不确定是否需要分别使用services.AddSession()并在登录和注销时手动设置会话数据-似乎实现了我为RedisCacheTicketStore找到了正确的标志,即在登录时正确添加了一个缓存项,并在注销时将其删除,当我调用signInManager.PasswordSignInAsync()和signInManager.SignOutAsync()时。
但是我注意到在这些实现中,输入密钥是随机创建的GUID(类似于memory cache ticket store的此实现)-这意味着我需要向该密钥添加可识别的内容(例如用户的ID)才能使用可搜索或将该密钥再次存储在其他位置?
如果可能的话,我真的不想使用JWT或IdentityServer / OpenID等。