2016-04-06 4 views
0

Мы используем реализацию Lumen/Dingo на основе следующего репо lumen-dingo. Мы строим это поверх существующей структуры, и это сопряжено с некоторыми незначительными проблемами.Использование Lumen + Dingo + JWT без сеанса Lumen/Laravel

Наша структура использует свой собственный объект сеанса во всем приложении, это не вариант, чтобы изменить это. Мы в идеале хотим изменить настройку Lumen + Dingo + JWT, чтобы она использовала нашу сессию.

Я не знаю, что лучше делать здесь. Я могу подумать о трех возможных решениях:

  1. Создайте пользовательский сеансовый драйвер в Lumen, который запустит наш рамочный сеанс.
  2. Просто полностью игнорируйте сеанс Lumen
  3. Используйте сеанс 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' 
        ], 
    ], 
    

Я пытаюсь изменить эти детали, но я продолжаю нарваться ошибок. Я не знаю, делаю ли я что-то не так, или, может быть, даже полностью ошибаюсь.

ответ

0

Почему вы используете сеансы с Lumen?

Lumen используется только для создания API и, как таковой, должен быть без гражданства!

С Lumen 5.2 они полностью удалили поддержку сеансов.

Lumen 5.2 представляет собой переход на люминесцентный люмен для фокусировки исключительно для фокусировки на обслуживании без гражданства, API JSON. Таким образом, сеансы и представления больше не включаются в структуру.

+0

Хмм интересно. Ну репо, где я основываю свой проект на нагрузках в обычном объекте сеанса. Будет ли проблема, когда я удалю это снова. Также обратите внимание, что я a, используя JWT-компонент, и там мне нужно предоставить охранник, а драйвер - сеанс. –