No ctx.state.user on custom login in subsequent middleware
If I do the following:

```
app.use(route.post('/custom', function(ctx, next) {
  return passport.authenticate('local', async function(user, info, status) {
    if (user === false) {
      ctx.status = 401
      ctx.body = { success: false }
    } else {
      await ctx.login(user)
      next()
    }
  })(ctx, next)
}))
```

My next middleware shows that `ctx.state.user` is `undefined`
