| 123456789101112131415161718192021222324252627282930313233 |
- package auth
- import (
- "net/http"
- types "github.com/OliveTin/OliveTin/internal/auth/authpublic"
- )
- //gocyclo:ignore
- func checkUserFromHeaders(context *types.AuthCheckingContext) *types.AuthenticatedUser {
- u := &types.AuthenticatedUser{}
- if context.Config.AuthHttpHeaderUsername != "" {
- u.Username = getHeaderKeyOrEmpty(context.Request.Header, context.Config.AuthHttpHeaderUsername)
- }
- if context.Config.AuthHttpHeaderUserGroup != "" {
- u.UsergroupLine = getHeaderKeyOrEmpty(context.Request.Header, context.Config.AuthHttpHeaderUserGroup)
- }
- if prov := getHeaderKeyOrEmpty(context.Request.Header, "provider"); prov != "" {
- u.Provider = prov
- }
- return u
- }
- func getHeaderKeyOrEmpty(headers http.Header, key string) string {
- values := headers.Values(key)
- if len(values) > 0 {
- return values[0]
- }
- return ""
- }
|