跳至主要内容
版本:11.x

跨域发送 Cookie

如果您的 API 位于与您的前端不同的来源,并且您希望向其发送 Cookie,则需要在您的服务器上启用 CORS,并通过提供选项 {credentials: "include"} 给 fetch 来发送带有请求的 Cookie。

tRPC 使用的 fetch 函数提供的参数可以按如下方式修改。

app.ts
ts
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.ts
ts
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。最佳方法因适配器而异,并取决于您的托管基础设施,并且各个适配器通常会在适用的情况下记录此过程。