feat(auth): add OIDC-only member authentication (#686)

* feat(auth): add OIDC member authentication

* docs(auth): document OIDC member login

* fix(auth): address OAuth review feedback

* refactor(auth): move OAuth flow into member provider
This commit is contained in:
@刘羡鱼
2026-09-24 06:15:46 +08:00
committed by GitHub
parent ddf2787c5e
commit dae23a90b5
28 changed files with 1517 additions and 61 deletions
+9
View File
@@ -7,6 +7,7 @@ import (
"github.com/m1k1o/neko/server/internal/member/file"
"github.com/m1k1o/neko/server/internal/member/multiuser"
"github.com/m1k1o/neko/server/internal/member/oauth"
"github.com/m1k1o/neko/server/internal/member/object"
"github.com/m1k1o/neko/server/pkg/types"
"github.com/m1k1o/neko/server/pkg/utils"
@@ -19,6 +20,7 @@ type Member struct {
File file.Config
Object object.Config
Multiuser multiuser.Config
OAuth oauth.Config
}
func (Member) Init(cmd *cobra.Command) error {
@@ -65,6 +67,10 @@ func (Member) Init(cmd *cobra.Command) error {
return err
}
if err := oauth.Init(cmd); err != nil {
return err
}
return nil
}
@@ -139,6 +145,9 @@ func (s *Member) Set() {
)); err != nil {
log.Warn().Err(err).Msgf("unable to parse member multiuser admin profile")
}
if err := s.OAuth.Set(s.Multiuser.UserProfile, s.Multiuser.AdminProfile); err != nil {
log.Warn().Err(err).Msg("unable to configure member OAuth provider")
}
}
func (s *Member) SetV2() {