view mod_auth_external_insecure/examples/go/prosody-auth-example/main.go @ 5223:8b2a36847912

mod_http_oauth2: Support HTTP Basic auth on token endpoint This is described in RFC 6749 section 2.3.1 and draft-ietf-oauth-v2-1-07 2.3.1 as the recommended way to transmit the client's credentials. The older spec even calls it the "client password", but the new spec clarifies that this is just another term for the client secret.
author Matthew Wild <mwild1@gmail.com>
date Tue, 07 Mar 2023 15:27:50 +0000
parents f84ede3e9e3b
children
line wrap: on
line source

package main

import "fmt"
import "bufio"
import "os"
import "strings"

const (
	ACTION = iota
	USER
	HOST
	PASSWORD
)

func main() {
	stdin := bufio.NewScanner(os.Stdin)
	for stdin.Scan() {
		parts := strings.SplitN(stdin.Text(), ":", 4)
		switch parts[ACTION] {
			case "auth":
				if parts[USER] == "someone" {
					fmt.Printf("1\n")
					continue
				}
				
			default: fmt.Printf("0\n")
		}
	}
}