mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-30 08:02:28 +00:00
8531ca0837
Before, the SSPI auth is only complied for Windows, it's difficult to test and it breaks a lot. Now, make the SSPI auth mockable and testable.
31 lines
732 B
Go
31 lines
732 B
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
//go:build !windows
|
|
|
|
package auth
|
|
|
|
import (
|
|
"errors"
|
|
"net/http"
|
|
)
|
|
|
|
type SSPIUserInfo struct {
|
|
Username string // Name of user, usually in the form DOMAIN\User
|
|
Groups []string // The global groups the user is a member of
|
|
}
|
|
|
|
type sspiAuthMock struct{}
|
|
|
|
func (s sspiAuthMock) AppendAuthenticateHeader(w http.ResponseWriter, data string) {
|
|
}
|
|
|
|
func (s sspiAuthMock) Authenticate(r *http.Request, w http.ResponseWriter) (userInfo *SSPIUserInfo, outToken string, err error) {
|
|
return nil, "", errors.New("not implemented")
|
|
}
|
|
|
|
func sspiAuthInit() error {
|
|
sspiAuth = &sspiAuthMock{} // TODO: we can mock the SSPI auth in tests
|
|
return nil
|
|
}
|