auth

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

106:d442523df640 Go to Latest

auth/authd/server.go

Init Config, add profile handlers, and add grant template. Call config.Init() before attempting to use it. Register our profile handlers with the router. Define a simple get_grant template for the authorization grant endpoint.

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@106 24 err := config.Init()
paddy@106 25 if err != nil {
paddy@106 26 log.Fatal(err)
paddy@106 27 }
paddy@100 28 context, err := auth.NewContext(config)
paddy@100 29 if err != nil {
paddy@100 30 panic(err)
paddy@100 31 }
paddy@100 32
paddy@100 33 router := mux.NewRouter()
paddy@100 34 auth.RegisterOAuth2(router, context)
paddy@100 35 auth.RegisterSessionHandlers(router, context)
paddy@106 36 auth.RegisterProfileHandlers(router, context)
paddy@100 37 http.Handle("/", router)
paddy@100 38 log.Fatal(http.ListenAndServe(":8080", nil))
paddy@100 39 }