POST to /api/oauth results in nil pointer dereference
Hi,
first of all, thank you for this great project, which has been very helpful to me and my collegues. Unfortunately, after upgrading golang to 1.6.3-1 on Debian testing, kanban panics when using OAuth login with Gitlab.
(I have not investigated the possibility of remote crashing or worse by sending crafted payloads, so I've decided to mark it confidential for now - feel free to make it public if this issue has in fact no impact on security.)
update: I lifted the confidentiality, since there seems to be no security relevance
reproducer (html stripped from rsp):
$ curl -d 'foo' http://localhost:3001/api/oauth
PANIC: runtime error: invalid memory address or nil pointer dereference
/usr/local/go/src/runtime/panic.go:423 (0x429679)
/usr/local/go/src/runtime/panic.go:42 (0x427d39)
/usr/local/go/src/runtime/sigpanic_unix.go:24 (0x43e4ca)
/go/src/gitlab.com/leanlabsio/kanban/models/user.go:85 (0x78eaab)
/go/src/gitlab.com/leanlabsio/kanban/routers/user/auth.go:42 (0x79c982)
/usr/local/go/src/runtime/asm_amd64.s:438 (0x45943e)
/usr/local/go/src/reflect/value.go:432 (0x4ceb4a)
/usr/local/go/src/reflect/value.go:300 (0x4cd811)
/go/src/gitlab.com/leanlabsio/kanban/vendor/github.com/go-macaron/inject/inject.go:117 (0x8b6ed2)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/context.go:113 (0x76c4b7)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/context.go:104 (0x76c39c)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/logger.go:40 (0x7804ee)
/usr/local/go/src/runtime/asm_amd64.s:437 (0x45939e)
/usr/local/go/src/reflect/value.go:432 (0x4ceb4a)
/usr/local/go/src/reflect/value.go:300 (0x4cd811)
/go/src/gitlab.com/leanlabsio/kanban/vendor/github.com/go-macaron/inject/inject.go:117 (0x8b6ed2)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/context.go:113 (0x76c4b7)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/context.go:104 (0x76c39c)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/recovery.go:161 (0x7818a2)
/usr/local/go/src/runtime/asm_amd64.s:437 (0x45939e)
/usr/local/go/src/reflect/value.go:432 (0x4ceb4a)
/usr/local/go/src/reflect/value.go:300 (0x4cd811)
/go/src/gitlab.com/leanlabsio/kanban/vendor/github.com/go-macaron/inject/inject.go:117 (0x8b6ed2)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/context.go:113 (0x76c4b7)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/router.go:184 (0x783034)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/router.go:286 (0x77999d)
/go/src/gitlab.com/leanlabsio/kanban/vendor/gopkg.in/macaron.v1/macaron.go:175 (0x77189a)
/usr/local/go/src/net/http/server.go:1862 (0x5dea6e)
/usr/local/go/src/net/http/server.go:1361 (0x5dc2be)
/usr/local/go/src/runtime/asm_amd64.s:1721 (0x45b6d1)