node.js koa2-cors 设置 Access-Control-Allow-Credentials
时间: 2023-09-30 17:07:50 浏览: 52
要在 koa2-cors 中设置 Access-Control-Allow-Credentials,需要在创建 cors 中间件时传递一个 options 对象,其中包括 credentials: true。
示例代码如下:
```javascript
const Koa = require('koa');
const cors = require('@koa/cors');
const app = new Koa();
app.use(cors({
origin: 'http://example.com',
credentials: true
}));
// 其他中间件和路由
```
在上面的示例中,我们使用了 @koa/cors 模块,并在创建中间件时传递了一个 options 对象。其中,origin 表示允许跨域请求的来源,credentials 表示允许跨域请求携带 Cookie 和认证信息。
需要注意的是,如果将 credentials 设置为 true,必须同时设置 Access-Control-Allow-Origin 和 Access-Control-Allow-Credentials。在上面的示例中,我们设置了 origin 为 http://example.com,因此 Access-Control-Allow-Origin 将自动设置为该值。如果需要设置其他值,可以将 origin 设置为函数,返回需要的值。
另外,需要在客户端发起请求时,设置 withCredentials 为 true,才能在跨域请求中携带 Cookie 和认证信息。例如:
```javascript
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open('GET', 'http://api.example.com/data');
xhr.send();
```