summaryrefslogtreecommitdiffstats
path: root/routers/api/v1/auth_windows.go
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2022-03-28 12:46:28 +0800
committerGitHub <noreply@github.com>2022-03-28 12:46:28 +0800
commit6526733a58632086d51ce7211b3a4dc75dbbef90 (patch)
treed4d00230c18e0b4bbae1a767ef3f52800d284a14 /routers/api/v1/auth_windows.go
parentd6fa138e7ce7c36ce253a3c847e3218fd31452c4 (diff)
downloadgitea-6526733a58632086d51ce7211b3a4dc75dbbef90.tar.gz
gitea-6526733a58632086d51ce7211b3a4dc75dbbef90.zip
Let web and API routes have different auth methods group (#19168)
* remove the global methods but create dynamiclly * Fix lint * Fix windows lint * Fix windows lint * some improvements Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
Diffstat (limited to 'routers/api/v1/auth_windows.go')
-rw-r--r--routers/api/v1/auth_windows.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/routers/api/v1/auth_windows.go b/routers/api/v1/auth_windows.go
new file mode 100644
index 0000000000..d41c4bb223
--- /dev/null
+++ b/routers/api/v1/auth_windows.go
@@ -0,0 +1,20 @@
+// Copyright 2022 The Gitea Authors. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package v1
+
+import (
+ "code.gitea.io/gitea/models/auth"
+ auth_service "code.gitea.io/gitea/services/auth"
+)
+
+// specialAdd registers the SSPI auth method as the last method in the list.
+// The SSPI plugin is expected to be executed last, as it returns 401 status code if negotiation
+// fails (or if negotiation should continue), which would prevent other authentication methods
+// to execute at all.
+func specialAdd(group *auth_service.Group) {
+ if auth.IsSSPIEnabled() {
+ group.Add(&auth_service.SSPI{})
+ }
+}