Угрозы безопасности при отключении проверки состояния сеанса в Laravel Socialite - PullRequest
0 голосов
/ 26 апреля 2019

Документы Laravel Socialite говорят:

Метод stateless может использоваться для отключения проверки состояния сеанса.Это полезно при добавлении социальной аутентификации в API:

return Socialite::driver('google')->stateless()->user();

«Отключить проверку состояния сеанса» звучит мне страшно. Документы нене вдаваться в подробности компромисса по безопасности.

В каких случаях важна проверка состояния сеанса и почему?


Справочная информация и контекст:

Мой поток Socialite (с использованием Facebook) работает совершенно нормально, когда я использую stateless().

Но если я удаляю stateless(), будет работать только часть "нормального случая" моего потока и часть потока, которая повторно запрашивает "электронную почту"«разрешения (если пользователь сначала их опускает) не работают и вместо этого приводят к Laravel\Socialite\Two\InvalidStateException.

Кроме того, я не звоню $provider->stateless()->user() более одного раза за запрос, потому что я знаю из эти документы о том, что он удаляет переменную «состояния» из сеанса и, следовательно, не будет работать при последующих вызовах.

(я использую getRedirectLoginHelper()->getReRequestUrl($redirectUrl, ['email']). См. FacebookRedirectLoginHelper doc )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...