我正在构建多租户应用程序,我想为每个租户设置不同的 jwt 密码。为此,我创建了中间件,在其中获取活动租户的 jwt_secret 并使用 Config 门面进行设置,如下所示:
Config::set('jwt.secret', Tenant::getActiveTenant()->jwt_secret);
在此之后,我转储配置设置并显示正确的新值,但包本身不使用它,但如果我在运行时将数据库连接设置更改为“租户”值,则包正确使用它......
任何想法?
谢谢
我通过直接在 setSecret() 方法上设置秘密解决了这个问题:
JWTAuth::manager()->getJWTProvider()->setSecret(Tenant::getActiveTenant()->jwt_secret);
这不是最漂亮的解决方案,但现在它解决了问题......
use Tymon\JWTAuth\Facades\JWTAuth;
...
JWTAuth::getJWTProvider()->setSecret('foobarbaz');
在此处查看详细信息https://github.com/tymondesigns/jwt-auth/issues/503