Oauth2 support

This commit is contained in:
Jamie Curnow
2024-11-06 20:33:51 +10:00
parent f23299f793
commit 208037946f
25 changed files with 529 additions and 30 deletions

View File

@ -2,19 +2,31 @@ package setting
import (
"encoding/json"
"slices"
)
// GetAuthMethods returns the authentication methods enabled for this site
func GetAuthMethods() ([]string, error) {
var l []string
var m Model
if err := m.LoadByName("auth-methods"); err != nil {
return l, err
return nil, err
}
if err := json.Unmarshal([]byte(m.Value.String()), &l); err != nil {
return l, err
var r []string
if err := json.Unmarshal([]byte(m.Value.String()), &r); err != nil {
return nil, err
}
return l, nil
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)
}