如何在Auth0自定义操作中发送Axios请求并解决对接报错问题
问题排查及解决方案
1. 参数全为null的修复
你遇到的参数全空问题是axios.post调用语法错误导致的:axios.post()的参数顺序为 axios.post(url[, 请求体数据[, 配置项]]),第二个参数是POST请求的Body载荷,第三个参数才是包含params(URL查询字符串参数)的配置项。你当前代码把params配置写在了第二个参数位置,相当于把参数整体作为请求体发送,若你的Cloudflare Worker是从URL查询参数读取字段,自然拿到的全是null。
根据你的接口设计选择正确写法:
方案1:参数走URL查询字符串
const axios = require("axios"); exports.onExecutePostUserRegistration = async (event) => { await axios.post("https://你的Cloudflare dev域名/createuser", null, { params: { id: event.user.user_id, name: event.user.name, email: event.user.email, image: event.user.picture } }); };
方案2:参数走JSON请求体
如果Worker侧是从请求Body读值,直接把参数对象放在第二个参数位置即可:
const axios = require("axios"); exports.onExecutePostUserRegistration = async (event) => { await axios.post("https://你的Cloudflare dev域名/createuser", { id: event.user.user_id, name: event.user.name, email: event.user.email, image: event.user.picture }); };
2. 原域名返回503无日志的修复
请求在到达Worker之前就被Cloudflare的安全规则拦截,直接返回了503响应,因此不会生成Worker日志,按以下步骤排查:
- 登录Cloudflare控制台,进入对应原域名的「安全性」-「事件」页面,查找来自Auth0 Action出口IP的拦截记录,将Auth0的Action出口IP段加入WAF白名单即可
- 检查原域名的「正在等待页」、速率限制、Bot管理规则,这类规则拦截非浏览器发起的请求时也会直接返回503
内容的提问来源于stack exchange,提问作者Noah Dennis
相关产品推荐
相关产品推荐

