Php авторизация пользователя. Что есть best practices?
Я сейчас реализую некое API, и мне от пользователя в заголовке запроса Каждый Раз приходит логин и пароль. Как правильно реализовать авторизацию пользователя используя OOP & best practices?
Пока что я делаю так: Auth::login($login, $pass); Статическая функция возвращает true или false. Фактически в классе сейчас лишь одна функция, но в перспективе добавятся еще.
Мне подсказали, что это не `кошерный` вариант. Профи, кто давно пишет на php, подскажите или дайте ссылку на правильный вариант.
Вам нужно использовать сессии. Вместо того чтобы каждый раз присылать login, и pass - пусть лучше клиент шлет token сессии. Если использовать нативную реализацию сессии - то id сессии присылается в cookie. Можно использовать самописный механизм, в таком случае клиенту всегда нужно будет слать token.
По-сути всё это практически то же самое что и в каждом запросе присылать логин/пароль. Но мне в своей практике не доводилось встречать реализацию с отсылкой логина и пароля при каждом запросе. Поэтому смею предположить что никто так не делает :) Используйте токен, и тогда клиентам не придется светить логин/пароль при каждом запросе :)
У меня по ТЗ шлется так сделано. Я тоже бы сделал сессии. Сейчас же меня интересует вопрос, кошерно ли реализовать авторизацию так, как ее реализовал я. Или статический класс это не есть right way & best practices.
Damir Makhmutov > Но мне в своей практике не доводилось встречать реализацию с отсылкой логина и пароля при каждом запросе.
> Поэтому смею предположить что никто так не делает :)
как же вы заблуждаетесь.
Чем это лучше чем отправлять token вместо login/pass при каждом запросе? Не вижу никаких плюсов в этом. К тому-же если есть возможность каждый раз отправлять login/pass - значит есть возможность отправлять и что-либо другое. Так и в чем же плюсы этого решения, что используют его повсеместно? Да, пример - нужно по ТЗ. Но не понимаю что за бред, либо составитель ТЗ просто не в курсе о других способах, либо лыжи не едут.
serjioms: вот я бы вообще меньше всего бы волновался как выглядит обёртка для авторизации в вашем случае))) Просто авторизацию делать на каждом запросе - это приличный оверхед, который никому не нужен вообще.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.