Files
cloud-services/pkg/httphandlers/auth_base.go

40 lines
817 B
Go

package httphandlers
import (
"context"
"fiskerinc.com/modules/adminroles"
"fiskerinc.com/modules/common/authproviders"
c "fiskerinc.com/modules/common/context"
)
type AuthBase struct {
}
func (a AuthBase) hasRoles(requiredRoles map[string][]adminroles.RoleID) bool {
if len(requiredRoles) == 0 {
return false
}
for _, roles := range requiredRoles {
if len(roles) > 0 {
return true
}
}
return false
}
func (a AuthBase) getRolesForProvider(provider string, required map[string][]adminroles.RoleID) (roles []adminroles.RoleID, ok bool) {
if roles, ok = required[provider]; ok {
return
}
roles, ok = required[authproviders.Default]
return
}
func (a AuthBase) addContext(ctx context.Context, key c.ContextType, value string) context.Context {
return context.WithValue(ctx, key, value)
}