跨域发送 Cookie
如果您的 API 位于与您的前端不同的来源,并且您希望向其发送 Cookie,则需要在您的服务器上启用 CORS,并通过提供选项 {credentials: "include"}
给 fetch 来发送带有请求的 Cookie。
tRPC 使用的 fetch 函数提供的参数可以按如下方式修改。
app.tsts
import { createTRPCClient, httpBatchLink } from '@trpc/client';const client = createTRPCClient<AppRouter>({links: [httpBatchLink({url: 'YOUR_SERVER_URL',fetch(url, options) {return fetch(url, {...options,credentials: 'include',});},}),],});
app.tsts
import { createTRPCClient, httpBatchLink } from '@trpc/client';const client = createTRPCClient<AppRouter>({links: [httpBatchLink({url: 'YOUR_SERVER_URL',fetch(url, options) {return fetch(url, {...options,credentials: 'include',});},}),],});
信息
您还需要通过修改您的 适配器 或 API 前端的 HTTP 服务器来在您的服务器上启用 CORS。最佳方法因适配器而异,并取决于您的托管基础设施,并且各个适配器通常会在适用的情况下记录此过程。