auth

Paddy 2015-01-29 Parent:2e4b5722eed0 Child:8267e1c8bcd1

133:bc842183181d Go to Latest

auth/authd/server.go

Add Client updating from the API. Add a handler to update Clients using the API. Add a helper that will decode a request for us based on its Content-Type header. Change the ClientChange.Validate function to return as many errors as possible, as opposed to just the first error it encounters. Update the ClientChange.Validate tests to take advantage of the new signature.

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@107 8 "code.secondbit.org/auth.hg"
paddy@100 9 "github.com/gorilla/mux"
paddy@100 10 )
paddy@100 11
paddy@100 12 func main() {
paddy@100 13 store := auth.NewMemstore()
paddy@100 14 config := auth.Config{
paddy@100 15 ClientStore: store,
paddy@100 16 AuthCodeStore: store,
paddy@100 17 ProfileStore: store,
paddy@100 18 TokenStore: store,
paddy@100 19 SessionStore: store,
paddy@100 20 Template: template.Must(template.New("base").ParseGlob("./templates/*.gotmpl")),
paddy@100 21 LoginURI: "/login",
paddy@100 22 }
paddy@106 23 err := config.Init()
paddy@106 24 if err != nil {
paddy@106 25 log.Fatal(err)
paddy@106 26 }
paddy@100 27 context, err := auth.NewContext(config)
paddy@100 28 if err != nil {
paddy@100 29 panic(err)
paddy@100 30 }
paddy@100 31
paddy@100 32 router := mux.NewRouter()
paddy@100 33 auth.RegisterOAuth2(router, context)
paddy@100 34 auth.RegisterSessionHandlers(router, context)
paddy@106 35 auth.RegisterProfileHandlers(router, context)
paddy@108 36 auth.RegisterClientHandlers(router, context)
paddy@100 37 http.Handle("/", router)
paddy@100 38 log.Fatal(http.ListenAndServe(":8080", nil))
paddy@100 39 }