公共 API 参考(@saas/contracts + @core/saas-kit + apps/api 对外接口)
    Preparing search index...

    CSRF Origin/Referer 校验守卫(会话墙后的第二道纵深防御)。

    经 AuthModule 注册为全局 APP_GUARD,排在 SessionGuard 之后(401 先 403):对依赖 cookie 会话的非安全方法做 Origin 校验——补上「非 auth 端点仅靠 SameSite 缺省 lax」的 纵深防御缺口(生产若翻 SameSite=None 支持跨源前端,此墙独立兜底)。

    判据(乙·同源部署取向):

    • @Public() 面(存活探针 / 签名校验入站回调 / Stripe webhook)不依赖会话 → 跳过;
    • 同源放行:Origin 的 host 命中请求自身 Host/X-Forwarded-Host → 放行(scheme 无关; 攻击者无法伪造受害者请求的 Host 头,故同源天然安全·免登记本站 origin);
    • 可信源白名单复用 CORS 单一真源 getCorsConfig().origin(= ALLOWED_ORIGINS),不另立门户(覆盖跨源合法前端);
    • 无 Origin/Referer(非浏览器 / 服务直连)→ 放行 + warn(镜 IP-trust「warn 非 fail-closed」,防误杀纯 API 后端);
    • 有 Origin 且既非同源亦不在白名单 → 403 AUTH:CSRF_ORIGIN_MISMATCH。

    Implements

    • CanActivate
    Index
    • 对非安全方法执行 Origin 校验:@Public 与安全方法放行,同源/白名单放行,否则 403。

      Parameters

      • context: ExecutionContext

        执行上下文。

      Returns boolean

      放行时为 true;校验失败时抛 403。

      Origin 与同站不符(CSRF 校验失败)时。