公共接口需要服务多个合作方前端时,如何设计跨源许可并保证数据权限不被放大
简答题中等534 次浏览
参考答案与解析
# 核心结论
跨源许可只回答浏览器是否允许某个页面读取响应,不回答调用者是谁、用户能访问哪条数据,也不能保护非浏览器客户端。合作方接入应把 CORS、身份认证、租户与对象级授权分层设计:先依据精确白名单决定是否返回跨源响应首部,再验证访问凭证及其受众、作用域和有效期,最后针对每个资源执行服务端授权。任何一层成功都不能替代下一层。
浏览器对非简单请求通常先发送 OPTIONS 预检,携带请求来源、计划使用的方法和首部。服务端应验证来源是否与登记值完全匹配,并仅返回实际允许的方法和首部。若需要浏览器携带 Cookie,响应必须使用具体的 Access-Control-Allow-Origin 值并设置 `Acc
