MISSING_REQUIRED_PARAM
遇到错误?使用 AI 工具协助排查
错误原因
客户端缺少必填参数。这是 4xx 前端入参问题,不是短信/邮件通道未配置。
SDK 对应 error.code === "missing_required_param"(errorCode 4000)。error.message 会带上调用点与参数路径,例如:
auth.verifyOtp(params): missing required param 'messageId'
发生阶段
| 阶段 | 触发方法 | 常见缺参 |
|---|---|---|
| 发码 | signInWithOtp / signUp / getVerification | 未传 email 或 phone |
| 校验 | 独立 auth.verifyOtp | 未传 messageId |
不要把本错误理解成「发送验证码时后端邮件任务缺 ID」。独立 verifyOtp 报缺 messageId,说明前端校验阶段没把发码返回的 ID 传回去。
解决方案
- 阅读
error.message,按其中的方法名和参数路径补齐字段。 - 校验阶段缺
messageId:- 若走
getVerification发码:把返回的verification_id作为params.messageId传入auth.verifyOtp。 - 推荐改用
signInWithOtp/signUp返回的data.verifyOtp({ token }),SDK 已缓存messageId,不必再传。
- 若走
- 发码阶段缺
email/phone:补上其中一个,不要同时为空。 - 若
error.code是unimplemented/internal(5xx),才是通道或服务端配置问题,请去控制台检查短信/邮件登录是否已开启。