auth
2014-12-14
Child:d442523df640
auth/authd/server.go
Add authd. Start adding our server implementation. Right now, it's very proof-of-concept stage and will almost certainly be entirely rewritten, but it gets a server up and running.
| 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 } |