Table of Contents
18.8 JSON 写请求加密
POST、PUT、PATCH、DELETE 的 JSON 业务请求使用:
Content-Type: application/vnd.tieup.encrypted+json
X-Session-Id: tieup_sess_xxx
Content-Type 可附带 charset,例如 application/vnd.tieup.encrypted+json; charset=utf-8。请求 body 是纯 Base64URL 信封,不能再包成 JSON 字段,也不能使用表单或 multipart:
原始 JSON:{"artist_id":10001,"remark":"中文备注"}
载荷 data:{"artist_id":10001,"remark":"中文备注"}
发送 body:eyJ2IjoxLCJuIjoiLi4uIn0
空业务 body 也必须以 data={} 加密。兼容模式下原 application/json 可继续明文发送;一旦使用加密 Content-Type,body 就必须是合法密文,不能在解密失败后回退为明文。
服务端解密成功后执行 withParsedBody(data),将原始 body 重写为 JSON,并把 Content-Type 恢复为 application/json,随后再进入 FormRequest、TokenMiddleware 和 Controller。