如何在Supabase的signInWithPassword中使用验证码Token(如hCaptcha)
在Supabase的signInWithPassword中集成hCaptcha验证
要在signInWithPassword登录方法中使用hCaptcha Token,你需要通过方法的第二个配置参数传入captchaToken,具体操作如下:
1. 获取hCaptcha验证Token
在前端页面完成hCaptcha人机验证后,通过其官方API获取一次性的验证Token(例如调用hcaptcha.execute()方法)。
2. 修改signInWithPassword调用逻辑
将获取到的hCaptcha Token传入登录方法的配置选项中:
// 假设已通过hCaptcha获取到有效Token const hcaptchaToken = "your-hcaptcha-valid-token"; const { data, error } = await supabase.auth.signInWithPassword( { email: "user@example.com", password: "user-password", }, { captchaToken: hcaptchaToken } ); if (error) { // 处理错误场景,比如验证码无效、过期等 console.error("登录失败:", error.message); } else { // 登录成功后的业务逻辑 console.log("登录成功:", data.user); }
3. 配置Supabase后台的hCaptcha开关
确保在Supabase控制台完成以下设置,否则验证码验证不会生效:
- 进入Authentication -> Settings -> CAPTCHA页面
- 启用hCaptcha选项
- 填入从hCaptcha官网获取的Site Key和Secret Key
注意:hCaptcha Token为一次性有效,每次登录请求都需要重新获取新的Token。
内容的提问来源于stack exchange,提问作者Turing Vang
相关产品推荐
相关产品推荐

