在没有 Lumen/Laravel 会话的情况下使用 Lumen + Dingo + JWT
Posted
技术标签:
【中文标题】在没有 Lumen/Laravel 会话的情况下使用 Lumen + Dingo + JWT【英文标题】:Using Lumen + Dingo + JWT without Lumen/Laravel Session 【发布时间】:2016-07-26 12:43:08 【问题描述】:我们正在使用基于以下 repo lumen-dingo 的 Lumen/Dingo 实现。我们在现有框架之上构建它,这带来了一些小问题。
我们的框架在整个应用程序中都使用自己的会话对象,无法更改它。我们理想情况下想要更改 Lumen + Dingo + JWT 设置,以便它使用我们的会话。
我不知道在这里做什么最好。我能想到三种可能的解决方案:
-
在 Lumen 中创建一个自定义会话驱动程序,它将启动我们的框架会话。
完全忽略 Lumen 会话
在普通会话旁边使用流明会话,因此它们都同时处于活动状态,但我不知道这是否可行。
/*
|--------------------------------------------------------------------------
| Authentication Guards
|--------------------------------------------------------------------------
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
| here which uses session storage and the Eloquent user provider.
|
| All authentication drivers have a user provider. This defines how the
| users are actually retrieved out of your database or other storage
| mechanisms used by this application to persist your user's data.
|
| Supported: "session"
|
| NOTE: "token" driver is not supported in JWT Auth
|
*/
'guards' => [
'api' => [
'driver' => 'session',
'provider' => 'users'
],
],
我正在尝试编辑这些详细信息,但我一直遇到错误。我不知道我是否只是做错了什么,或者甚至可能完全走错了路。
【问题讨论】:
【参考方案1】:您为什么使用 Lumen 会话?
Lumen 仅用于构建 API,因此应该是无状态的!
在 Lumen 5.2 中,他们完全移除了对会话的支持。
Lumen 5.2 代表了从精简 Lumen 到专注于服务无状态 JSON API 的转变。因此,框架不再包含会话和视图。
【讨论】:
嗯,很有趣。好吧,我的项目基于正常会话对象中的负载的存储库。当我再次删除它时会没有问题。另请注意,我 a,使用 JWT 组件,我需要提供一个保护,驱动程序是会话。以上是关于在没有 Lumen/Laravel 会话的情况下使用 Lumen + Dingo + JWT的主要内容,如果未能解决你的问题,请参考以下文章
如何在 LUMEN 中使用 GATE 立面(Laravel 6.2)