Have I Been Pwned

Have I Been Pwned插件通过防止使用已在已知数据泄露中暴露的密码来帮助保护用户账户。它使用Have I Been PwnedAPI来检查密码是否已被泄露。

安装

import { betterAuth } from "better-auth"
import { haveIBeenPwned } from "better-auth/plugins"
 
export const auth = betterAuth({
    plugins: [
        haveIBeenPwned()
    ]
})

使用方法

当用户尝试使用已泄露的密码创建账户或更新密码时,他们将收到以下默认错误信息:

{
  "code": "PASSWORD_COMPROMISED",
  "message": "Password is compromised"
}

配置

您可以自定义错误信息:

haveIBeenPwned({
    customPasswordCompromisedMessage: "请选择一个更安全的密码。"
})

安全说明

  • 只有密码哈希的前5个字符会被发送到API
  • 完整密码永远不会被传输
  • 提供额外的账户安全层级

On this page