Files
nginx-proxy-manager/backend/internal/entity/setting/auth_methods.go
T

33 lines
621 B
Go
Raw Normal View History

2024-11-02 21:36:07 +10:00
package setting
import (
"encoding/json"
2024-11-06 20:33:51 +10:00
"slices"
2024-11-02 21:36:07 +10:00
)
// GetAuthMethods returns the authentication methods enabled for this site
func GetAuthMethods() ([]string, error) {
var m Model
if err := m.LoadByName("auth-methods"); err != nil {
2024-11-06 20:33:51 +10:00
return nil, err
2024-11-02 21:36:07 +10:00
}
2024-11-06 20:33:51 +10:00
var r []string
if err := json.Unmarshal([]byte(m.Value.String()), &r); err != nil {
return nil, err
2024-11-02 21:36:07 +10:00
}
2024-11-06 20:33:51 +10:00
return r, nil
}
// AuthMethodEnabled checks that the auth method given is
// enabled in the db setting
func AuthMethodEnabled(method string) bool {
r, err := GetAuthMethods()
if err != nil {
return false
}
return slices.Contains(r, method)
2024-11-02 21:36:07 +10:00
}