mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-27 12:31:02 +00:00 
			
		
		
		
	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.
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			732 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			30 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
 | |
| }
 |