从 CakePHP 3 中的中间件获取 Auth 组件用户 ID

Get Auth Component User ID From Middleware in CakePHP 3

我正在尝试使用 CakePHP 3 创建一个 2FA 中间件。我已经很好地创建了中间件基础知识,但是,我不知道如何在中间件中获取当前用户的用户 ID,通常我会得到我喜欢这样...

$this->Auth->user('id');

有没有办法在中间件中加载 AuthComponent?

如果没有,我该如何获取当前用户 ID?

我认为您可以使用请求会话处理程序来获取当前用户 ID

$this->request->session()->read( 'Auth.User.id' )

使用官方认证插件替换 AuthComponents 认证部分:https://github.com/cakephp/authentication这将在下一个版本中正式替换组件方法。

它还有一个中间件,只要确保它在你之前的管道中,你就可以使用 $request->getParam('identity')