mirror of
https://github.com/kataras/iris.git
synced 2025-01-23 18:51:03 +01:00
42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
package config
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/imdario/mergo"
|
|
)
|
|
|
|
const (
|
|
// DefaultBasicAuthRealm is "Authorization Required"
|
|
DefaultBasicAuthRealm = "Authorization Required"
|
|
// DefaultBasicAuthContextKey is the "auth"
|
|
// this key is used to do context.Set("auth", theUsernameFromBasicAuth)
|
|
DefaultBasicAuthContextKey = "auth"
|
|
)
|
|
|
|
// BasicAuth the configs for the basicauth middleware
|
|
type BasicAuth struct {
|
|
// Users a map of login and the value (username/password)
|
|
Users map[string]string
|
|
// Realm http://tools.ietf.org/html/rfc2617#section-1.2. Default is "Authorization Required"
|
|
Realm string
|
|
// ContextKey the key for ctx.GetString(...). Default is 'auth'
|
|
ContextKey string
|
|
// Expires expiration duration, default is 0 never expires
|
|
Expires time.Duration
|
|
}
|
|
|
|
// DefaultBasicAuth returns the default configs for the BasicAuth middleware
|
|
func DefaultBasicAuth() BasicAuth {
|
|
return BasicAuth{make(map[string]string), DefaultBasicAuthRealm, DefaultBasicAuthContextKey, 0}
|
|
}
|
|
|
|
// MergeSingle merges the default with the given config and returns the result
|
|
func (c BasicAuth) MergeSingle(cfg BasicAuth) (config BasicAuth) {
|
|
|
|
config = cfg
|
|
mergo.Merge(&config, c)
|
|
|
|
return
|
|
}
|