Лучше всего используйте какой-нибудь фреймворк. В двух словах описать как сделать БЕЗОПАСНУЮ авторизацию, достаточно сложно, т.к. для этого нужно достаточно много условий, начиная от базовых принципов, заканчивая проверкой входных данных.
Если не хочется тянуть лишний код в проект, воспользуйтесь каким-нибудь легковесным фреймворком. Например, тот же ларавел имеет микро-версию Laravel Lumen, которая обеспечивает все необходимые базовые фишки, включая и авторизацию. И с него, при необходимости можно на полную версию перелезть достаточно быстро.