我们有几个用户,我们可能会与其他用户共享他们的用户帐户。我们正在考虑在 IdentityServer4 中添加功能,以限制用户可以拥有的并发会话数量来防止这种行为。
这不会阻止用户在白天不时共享用户帐户,但我们至少可以停止并发使用我们的系统。
我们正在考虑计算每个用户帐户使用的刷新令牌的数量,如果它们超过某个限制,则删除该用户最旧的刷新令牌和访问令牌,直到刷新令牌的数量等于允许的限制。
关于如何使用 IdentityServer4 实现此功能的任何意见?我们还想通知用户为什么引用令牌被删除从而导致注销。
从逻辑上讲,当用户超过并发会话限制时,它仍然应该能够进行身份验证,因此我会投票反对将 IdentityServer 视为此类功能的正确位置。
当达到限制时,您打算返回给用户什么?您无权访问此资源?这听起来不对。
我建议在资源本身中应用此类功能,使用应用程序逻辑对当前会话进行计数,然后将用户重定向到告知超出限制的页面。
更新:
检查这个 Github 讨论,其中 IdentityServer 贡献了一个相对相似的查询的响应。 https://github.com/IdentityServer/IdentityServer4/issues/736
| 归档时间: |
|
| 查看次数: |
1473 次 |
| 最近记录: |