mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-11-03 20:17:59 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			26 lines
		
	
	
		
			873 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			873 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package postgresql
 | 
						|
 | 
						|
import "fmt"
 | 
						|
 | 
						|
// passwordAuthentication determines whether to send passwords in plaintext (password) or hashed (scram-sha-256).
 | 
						|
type passwordAuthentication string
 | 
						|
 | 
						|
var (
 | 
						|
	// passwordAuthenticationPassword is the default. If set, passwords will be sent to PostgreSQL in plain text.
 | 
						|
	passwordAuthenticationPassword    passwordAuthentication = "password"
 | 
						|
	passwordAuthenticationSCRAMSHA256 passwordAuthentication = "scram-sha-256"
 | 
						|
)
 | 
						|
 | 
						|
var passwordAuthentications = map[passwordAuthentication]struct{}{
 | 
						|
	passwordAuthenticationSCRAMSHA256: {},
 | 
						|
	passwordAuthenticationPassword:    {},
 | 
						|
}
 | 
						|
 | 
						|
func parsePasswordAuthentication(s string) (passwordAuthentication, error) {
 | 
						|
	if _, ok := passwordAuthentications[passwordAuthentication(s)]; !ok {
 | 
						|
		return "", fmt.Errorf("'%s' is not a valid password authentication type", s)
 | 
						|
	}
 | 
						|
 | 
						|
	return passwordAuthentication(s), nil
 | 
						|
}
 |