1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/we-mid-go

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 858
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Fritz Lin Отправлено 04.09.2024 13:14 02ae9e5

basic_auth

HTTP Basic-Auth 辅助函数库

# .env
BASICAUTH_USERLIST='[{"user":"xxx","pass":"xxxxxx"},{"user":"xxx","pass":"xxxxxx"}]'
import (
	// ...
	"gitee.com/we-mid/go/basic_auth"
	"gitee.com/we-mid/go/util"
)

func init() {
	if err := basic_auth.InitFromEnv(); err != nil {
		log.Fatalln("basic_auth.InitFromEnv:", err)
	}
}

func main() {
	// API路由
	http.HandleFunc("/api/foo", util.HandlerWrap(apiFoo))
	http.HandleFunc("/api/bar", util.HandlerWrap(apiBar))
	// 页面路由,创建一个文件服务器
	fs := http.FileServer(http.Dir("./public"))
	http.HandleFunc("/", basic_auth.Wrap(fs.ServeHTTP))
	// ...
}

func apiFoo(w http.ResponseWriter, r *http.Request) error {
	if err := util.EnableCors(w, r); err != nil {
		return err
	}
	if user := basic_auth.Check(r); user == "" {
		return util.Err401
	}
	// ...
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/we-mid-go.git
git@api.gitlife.ru:oschina-mirror/we-mid-go.git
oschina-mirror
we-mid-go
we-mid-go
main