{"record":{"id":"e14feba6b27a2200","repo":"AlistGo/alist","slug":"webauthn-not-support","errorCode":null,"errorMessage":"webauthn not support","messagePattern":"webauthn not support","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"drivers/cloudreve_v4/util.go","lineNumber":110,"sourceCode":"func (d *CloudreveV4) login() error {\n\tvar siteConfig SiteLoginConfigResp\n\terr := d.request(http.MethodGet, \"/site/config/login\", nil, &siteConfig)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif !siteConfig.Authn {\n\t\treturn errors.New(\"authn not support\")\n\t}\n\tvar prepareLogin PrepareLoginResp\n\terr = d.request(http.MethodGet, \"/session/prepare?email=\"+d.Addition.Username, nil, &prepareLogin)\n\tif err != nil {\n\t\treturn err\n\t}\n\tif !prepareLogin.PasswordEnabled {\n\t\treturn errors.New(\"password not enabled\")\n\t}\n\tif prepareLogin.WebauthnEnabled {\n\t\treturn errors.New(\"webauthn not support\")\n\t}\n\tfor range 5 {\n\t\terr = d.doLogin(siteConfig.LoginCaptcha)\n\t\tif err == nil {\n\t\t\tbreak\n\t\t}\n\t\tif err.Error() != \"CAPTCHA not match.\" {\n\t\t\tbreak\n\t\t}\n\t}\n\treturn err\n}\n\nfunc (d *CloudreveV4) doLogin(needCaptcha bool) error {\n\tvar err error\n\tloginBody := base.Json{\n\t\t\"email\":    d.Username,\n\t\t\"password\": d.Password,","sourceCodeStart":92,"sourceCodeEnd":128,"githubUrl":"https://github.com/AlistGo/alist/blob/843d9dc8149126976b2625911e45a4d3ffd6f2f5/drivers/cloudreve_v4/util.go#L92-L128","documentation":"CloudreveV4 login prepare step reported WebauthnEnabled == true. The driver has no WebAuthn implementation (no passkey hardware flow is possible from a headless driver), so it refuses to continue rather than fail later.","triggerScenarios":"prepareLogin.WebauthnEnabled is true — the site/account requires or offers WebAuthn. Even when password login is also enabled, this driver treats a WebAuthn-enabled site as unsupported.","commonSituations":"Site-wide passkey enforcement; account enrolled in passkeys; newer V4 default enabling WebAuthn.","solutions":["Disable WebAuthn requirement for the account/site in Cloudrebve V4 settings if password API login is desired.","Use an account without WebAuthn enrollment for the mount.","Track driver updates — WebAuthn support may be added later; until then this combination cannot work.","Verify with GET /session/prepare what flags the server actually reports."],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if prepareLogin.WebauthnEnabled {\n    return errors.New(\"webauthn not support — disable WebAuthn enforcement for this account\")\n}","typeGuard":"func siteNeedsWebauthn(p PrepareLoginResp) bool { return p.WebauthnEnabled }","tryCatchPattern":"if err := d.login(); err != nil {\n    if err.Error() == \"webauthn not support\" {\n        return errors.New(\"site enforces WebAuthn; this driver cannot authenticate — disable it or use another account\")\n    }\n    return err\n}","preventionTips":["Avoid WebAuthn-enforced accounts for headless drivers","Watch driver releases for WebAuthn support","Prefer dedicated non-passkey service accounts"],"tags":["cloudreve-v4","login","webauthn","authentication","go"],"backgroundTag":null,"analyzedSha":"843d9dc8149126976b2625911e45a4d3ffd6f2f5","analyzedAt":"2026-08-15T12:14:11.722Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}