基本认证

Basic Auth - 基本认证

原文:https://echo.labstack.com/docs/middleware/basic-auth

​ 基本认证中间件提供了HTTP基本认证。

  • 对于有效的凭证,它调用下一个处理程序。
  • 对于缺失或无效的凭证,它发送"401 - Unauthorized"的响应。

使用方法

1
2
3
4
5
6
7
8
9
e.Use(middleware.BasicAuth(func(username, password string, c echo.Context) (bool, error) {
    // Be careful to use constant time comparison to prevent timing attacks
    // 请注意使用恒定时间比较来防止时序攻击
    if subtle.ConstantTimeCompare([]byte(username), []byte("joe")) == 1 &&
        subtle.ConstantTimeCompare([]byte(password), []byte("secret")) == 1 {
        return true, nil
    }
    return false, nil
}))

自定义配置

使用方法

1
e.Use(middleware.BasicAuthWithConfig(middleware.BasicAuthConfig{}))

配置

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
BasicAuthConfig struct {
  // Skipper 定义一个跳过中间件的函数。
  Skipper Skipper

  // Validator 是一个用于验证 BasicAuth 凭证的函数。
  // 必需。
  Validator BasicAuthValidator

  // Realm 是定义 BasicAuth 的域(realm)属性的字符串。
  // 默认值为"Restricted"。
  Realm string
}

默认配置

1
2
3
DefaultBasicAuthConfig = BasicAuthConfig{
    Skipper: DefaultSkipper,
}
最后修改 October 10, 2024: 更新 (a4b8f85)