Nuxt.jsでのserverMiddlewareとpluginの連携

nuxtのserverMiddlewareの引数のreqと、nuxtのpluginやmiddlewareの引数でのreqは違うのでしょうか?
また、serverMiddlewareでの処理結果を、nuxtのpluginやmiddlewareに渡したい場合、どうすれば良いのでしょうか?

具体的には、おおよそ以下のようなコードで処理結果を渡そうとしたのですが、できませんでした。
皆様がこのような場合にどうしているか知恵を貸していただけませんでしょうか。

// serverMiddleware側
import { ServerMiddleware } from '@nuxt/types'
import getUser from 'getUser'

const injectUser: ServerMiddleware = (req, _res, next) => {
  req.body = req.body || {}
  req.body.user = req.headers.authorization
    // getUserはfsなどに依存しており、pluginなどで書くとビルドが通らない
    ? getUser(req.headers.authorization)
    : Promise.resolve(null)
  next()
}

export default injectUser
// plugin側

import { Plugin } from '@nuxt/types'

const authPlugin: Plugin = async context => {
   context.user = await context.req.body.user
}
export default authPlugin