包信息
| 属性 | 值 |
|---|---|
| NuGet 包 | Bitzsoft.Integrations.Captcha.Geetest |
| Provider ID | geetest |
| 鉴权 | CaptchaId + CaptchaKey(签名校验) |
| 版本 | GeeTest v4 |
配置字段(GeetestOptions)
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
CaptchaId | string | 是 | — | 验证码 CaptchaId |
CaptchaKey | string | 是 | — | 验证码 CaptchaKey(签名密钥) |
ApiServer | string | 否 | gcaptcha4.geetest.com | API 服务端点(v4) |
ScriptUrl | string | 否 | 极验 CDN | 前端 SDK 脚本地址(gt4.js) |
Timeout | TimeSpan | 否 | 30s | HTTP 请求超时 |
HttpClientName | string | 否 | GeetestCaptchaProvider | 命名 HttpClient |
配置示例
{ "Captcha": { "Geetest": { "CaptchaId": "your-captcha-id", "CaptchaKey": "your-captcha-key" } }}DI 注册
builder.Services.AddBitzsoftGeetestCaptcha(builder.Configuration.GetSection("Captcha:Geetest"));使用示例
public class GeetestService(ICaptchaProvider captcha){ public async Task<CaptchaResult<CaptchaChallenge>> GenerateAsync() { return await captcha.GenerateAsync(new CaptchaGenerateRequest()); }
public async Task<CaptchaResult<CaptchaVerification>> VerifyAsync(string lotNumber, string captchaOutput, string passToken, string genTime) { return await captcha.VerifyAsync(new CaptchaVerifyRequest { LotNumber = lotNumber, CaptchaOutput = captchaOutput, PassToken = passToken, GenTime = genTime, }); }}已知限制
ApiServer默认gcaptcha4.geetest.com(v4 端点),与 v3 的api.geetest.com不同。CaptchaKey用于服务端校验签名,日志中脱敏输出。
相关
- 验证码域手册(如有)