跨域资源共享 CORS

未匹配的标注

CORS

Fiber CORS 中间件, 可用于通过各种选项启用跨域资源共享

目录

签名

func New(config ...Config) fiber.Handler

示例

在 Fiber 项目中引入 cors 包

import (
  "github.com/gofiber/fiber/v2"
  "github.com/gofiber/fiber/v2/middleware/cors"
)

启动 Fiber 程序后, 你可以这样使用:

// 默认配置
app.Use(cors.New())

// 或者扩展你的配置以进行自定义
app.Use(cors.New(cors.Config{
    AllowOrigins: "https://gofiber.io, https://gofiber.net",
    AllowHeaders:  "Origin, Content-Type, Accept",
}))

配置

// Config 定义中间件的配置.
type Config struct {
    // Next 定义一个函数, 当返回 true 时跳过这个中间件.
    //
    // 可选的. 默认值: nil
    Next func(c *fiber.Ctx) bool

    // AllowOrigin 定义了可以访问资源的源列表.
    //
    // 可选的. 默认值 "*"
    AllowOrigins string

    // AllowMethods 定义了访问资源时允许的方法.
    // 这用于响应预检请求.
    //
    // 可选的. 默认值 "GET,POST,HEAD,PUT,DELETE,PATCH"
    AllowMethods string

    // AllowHeaders 定义了一个请求头列表,当
    // 发出实际的请求。这是对预检请求的响应.
    //
    // 可选的. 默认值 "".
    AllowHeaders string

    // AllowCredentials 表示是否响应请求
    // 当凭证标识为真时,可以暴露。当用作
    // 对预检请求的响应,这表明是否
    // 可以使用凭证发出实际请求.
    //
    // 可选的. 默认值 false.
    AllowCredentials bool

    // ExposeHeaders 定义了允许客户端访问的白名单头
    // access.
    //
    // 可选的. 默认值 "".
    ExposeHeaders string

    // MaxAge 表示预检请求的结果多长时间(以秒为单位)
    // 可以缓存.
    //
    // 可选的. 默认值 0.
    MaxAge int
}

默认配置

var ConfigDefault = Config{
    Next:             nil,
    AllowOrigins:     "*",
    AllowMethods:     "GET,POST,HEAD,PUT,DELETE,PATCH",
    AllowHeaders:     "",
    AllowCredentials: false,
    ExposeHeaders:    "",
    MaxAge:           0,
}

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/gofiber/2.x/cor...

译文地址:https://learnku.com/docs/gofiber/2.x/cor...

上一篇 下一篇
贡献者:1
讨论数量: 0
发起讨论 只看当前版本


暂无话题~