Страницы

Поиск по вопросам

воскресенье, 15 декабря 2019 г.

Как происходит авторизация через api в php

#php #api


Здравствуйте. Никогда ранее не сталкивался с написанием API для сайта. С получением
общих данных вроде как разобрался. 

Не понятен один нюанс: человек установил приложение. В приложении два поля : логин
и пароль . Ввел и отправил .. Все окей, данные верны. 

А что дальше должно происходить, чтобы попасть в ЛК: должны куки запоминаться на
телефоне, сессии или что ?  Уже перечитал инфы и что-то не могу понять вообще.

Спасибо
    


Ответы

Ответ 1



Обычно для авторизации в API используют механизм OAuth2. Суть в том, что ваш сервер при получении авторизационных данных должен отдавать клиенту шифрованный token, который в последствии клиент будет передавать с запросами в заголовках, по этому токену вы и будете определять клиент. Вот ссылка на пакет OAuth2 сервера на чистом PHP. https://packagist.org/packages/league/oauth2-server Так же если хотите вы можете воспользоваться механизмом JWT Json Web Token - тоже некоторая альтерантива OAuth2 тоже довольно популярная - логика такая же клиент посылает авторизационные данные вы выдаете ему JWT который в последствии он использует для обращения пока у тог оне пройдет срок годности. Вот популярный пакет про JWT https://packagist.org/packages/lcobucci/jwt В общем случае особое внимание надо уделять механизму обновления токенов, когда они expire'ятся так как обычно API - приложение многопоточное, таким образом у вас может произойти ситуация когда два запроса придут один за одним с просроченным token'ом - и эт у ситуацию надо как-то решать. В простом случае на update токена, если он уже идет должна быт ькакая-то блокировка и новый токен можно записать в БД со сроком истечения, в то же время заблокирвоанный запрос должен получить заголовок, требующий его обратится за token'ом снова и так пока не будет в базе доступен новый токен.(это как пример решения проблемы конкурентных запросов с просроченным токеном)

Комментариев нет:

Отправить комментарий