如何报告用户被 OpenId 客户端锁定?

问题描述 投票:0回答:1

我在 ASP.NET 中有一个 OIDC 身份服务器,并且有一个客户端(也在 ASP.NET 中)连接到它以使用客户端凭据流进行授权。

当用户尝试登录并输入错误密码达到配置的次数时,其帐户将被锁定。发生这种情况时,客户端希望记录一些日志,包括用户名、锁定持续时间(例如锁定 X 分钟)以及锁定发生的时间(例如 Y 时间偏移)等详细信息。

向客户传达此信息的最佳方式是什么?

我正在考虑向客户端发送声明或参数,因为我们知道返回 URL。

处理此问题的建议方法是什么?

asp.net authentication openid-connect openid openiddict
1个回答
0
投票

当您说

client
时,感觉您指的是客户组织而不是应用程序。您可能会澄清这一点并解释设置。当用户认证失败时,您无法颁发令牌。

在 OAuth 中,授权服务器 (AS) - 或者 OIDC 提供商(如果您愿意)应该处理安全审核和通知人员。以下是云原生部署中常见的一些使用模式。您可以调查您的提供商对他们的支持。

审核日志

AS 的实例写入审核日志,您将这些日志汇总并提供给感兴趣的人以供他们查询。这是最适合您的用例吗?

select * from login_attempts where ...

安全事件

AS 允许您订阅锁定等事件并执行通知人员等自定义操作。您也许还可以使用日志记录事件来检测事件并运行自定义操作。

指标

AS 在内部端点提供自定义指标,Prometheus 等监控系统可以将数据查询并记录为时间序列。如果像

login_lockout_rate
login_failure_rate
这样的指标超过阈值,您可能会向人们发出电子邮件等警报。

© www.soinside.com 2019 - 2024. All rights reserved.