auth

Paddy 2014-12-14 Parent:d03786cbf3ae Child:d442523df640

102:267483f168b5 Go to Latest

auth/authd/server.go

Require config.Init in Context, add comment. Add comment to config.Init explaining what it is, to make golint happy. Create an ErrConfigNotInitialized error to use when a Config object is used to create a Context before it is initialized. Check for Config initialization in NewContext and throw ErrConfigNotInitialized if the Config hasn't been initialized.

History
paddy@100 1 package main
paddy@100 2
paddy@100 3 import (
paddy@100 4 "html/template"
paddy@100 5 "log"
paddy@100 6 "net/http"
paddy@100 7
paddy@100 8 "code.secondbit.org/auth"
paddy@100 9
paddy@100 10 "github.com/gorilla/mux"
paddy@100 11 )
paddy@100 12
paddy@100 13 func main() {
paddy@100 14 store := auth.NewMemstore()
paddy@100 15 config := auth.Config{
paddy@100 16 ClientStore: store,
paddy@100 17 AuthCodeStore: store,
paddy@100 18 ProfileStore: store,
paddy@100 19 TokenStore: store,
paddy@100 20 SessionStore: store,
paddy@100 21 Template: template.Must(template.New("base").ParseGlob("./templates/*.gotmpl")),
paddy@100 22 LoginURI: "/login",
paddy@100 23 }
paddy@100 24 context, err := auth.NewContext(config)
paddy@100 25 if err != nil {
paddy@100 26 panic(err)
paddy@100 27 }
paddy@100 28
paddy@100 29 router := mux.NewRouter()
paddy@100 30 auth.RegisterOAuth2(router, context)
paddy@100 31 auth.RegisterSessionHandlers(router, context)
paddy@100 32 http.Handle("/", router)
paddy@100 33 log.Fatal(http.ListenAndServe(":8080", nil))
paddy@100 34 }