配置防护
通过应用身份认证管理 API 中的protection/ 路径,使用 GET 和 PATCH 读取和修改设置,或在控制台中操作。
enabled 和 breached_password_check 默认为 false。开启防护后,上述模式即为默认值。
策略
vpn 和 travel 策略使用 Didit 的 IP 分析。如果该查询不可用,尝试将继续;登录永远不会因此失败。travel 的位置仅在登录成功完成后更新。
暴力破解与锁定
brute 模式决定 5 次失败之后会发生什么:
- 封禁:用户必须先重置密码,才能再次登录。
- 验证:账户锁定 15 分钟,下一次尝试需要额外验证。
- 已关闭 或 记录:不锁定。
机器人分数与设备信号
在运行时调用中通过以下请求头发送设备信号。托管页面会自动为您发送。
这些信号只是决策的上下文,不是身份证明。它们还会随每个登录事件一起传递,规则可以读取
event.device.bot_score。
AUTOMATION_FRAMEWORK_DETECTED 是另一项检查。它是验证会话上的一项 设备与 IP 分析警告,在验证 SDK 报告浏览器自动化框架时触发。它不会在登录时运行。登录时,自动化行为由上述 bots 策略拦截。验证挑战
受挑战的尝试会返回以下内容,而不是登录验证码:POST protection/complete/ 完成验证:
{"challenge", "method": "email_code", "code"},并附带发送到用户邮箱的 6 位验证码;或{"challenge", "method": "passkey", "response"},并附带 WebAuthn 响应。
403 {"error": "protection_factor_unavailable"}。
泄露密码
设置breached_password_check: true 后,Didit 会将新密码和重置密码与已知的泄露密码进行比对。密码本身永远不会被发送到任何地方。泄露密码会被拒绝,并返回 password_breached。登录时,泄露密码计为一次 stuffing 匹配。如果检查不可用,则接受该密码。
攻击模式
在攻击进行期间开启攻击模式:- 携带
{"duration_hours": 1}(或6、24)调用POST protection/attack-mode/,返回201。 DELETE protection/attack-mode/可提前结束攻击模式。攻击模式也会在持续时间结束后自动结束。
- 每次注册和登录都必须通过通行密钥验证。不接受邮箱验证码。新注册用户和没有通行密钥的用户,在攻击模式结束前无法完成操作。
- 来自 VPN、Tor 或数据中心网络的注册将被封禁。
速率限制
每个运行时路由都按应用、按 IP 进行限制:
超出限制时,接口返回
429。如果返回了 Retry-After 请求头,请遵守其中的等待时间。登录尝试同样有每分钟限制:每个 IP 60 次、每个账户 15 次、每台设备 30 次、每个应用 3,000 次,以及每个手机号前缀每分钟 20 次短信或 WhatsApp 验证码请求。令牌刷新拥有独立的应用级配额,每分钟 6,000 次,因此刷新不会占用您的登录配额。
事件
每个决策都会记录为一条认证事件:risk_logged、attempt_challenged、attempt_blocked、challenge_passed、challenge_failed、attack_mode_started 和 attack_mode_ended。事件会显示匹配的策略。