Codeigniter Restserver — лучшие практики при вызове всех функций через API

Я использую Restignver Codeigniter для проекта социальной сети. Я хочу получить доступ ко всем функциям моего сайта (i-e login, getfriends, postcomments, uploadimages и т. Д.) Через API. Теперь у меня есть вопрос, должен ли я установить какой-либо тип аутентификации в API (rest_auth, key и т. Д.) Или я должен оставить его открытым? Как должен быть разработан API?

Я считаю, что используя собственные настройки аутентификации restserver в конфигурации, каждый вызов функции требует аутентификации, но в моем случае мне не нужна аутентификация через функции входа в систему или регистрации.

Могу ли я использовать свои собственные проверки сеансов внутри функций? или есть лучший подход, так как я считаю, что у restserver определенно будет то, чего мне здесь не хватает.

0

Решение

Если вы хотите использовать свою собственную проверку сеансов, вы можете попробовать опцию session в $config['rest_auth'],

По документам:

Если вы связываете эту библиотеку с конечной точкой AJAX где клиенты проходят аутентификацию с использованием PHP-сессий тогда вам может не понравиться ни дайджест, ни базовые методы аутентификации.

В этом случае вы можете сказать REST Library какую переменную сеанса PHP проверить. Если переменная существует, то пользователь авторизован. Это будет ваше приложение, чтобы установить эту переменную.

Вы можете определить переменную в $ config [‘auth_source’]. Затем скажите библиотеке использовать переменную сеанса php, установив $ config [‘rest_auth’] в сеанс.

В любом случае, я бы не рекомендовал вам эту опцию, потому что, будучи веб-сайтом социальной сети, в будущем вам может понадобиться, например, мобильное приложение, которому потребуется доступ к этому API. И там у вас не будет сессий PHP для проверки.

Из того, что я прочитал, OAuth2 — лучший вариант для защиты наших Rest API, но я пока не знаю, как его реализовать.

На данный момент то, что я делаю в своем CodeIgniter REST API, — это создание ключей API для каждого пользователя. Эти ключи будут иметь срок годности. Когда срок действия истекает, ключ API удаляется из списка, и пользователь должен повторно пройти аутентификацию (логин), чтобы получить новый ключ API.

Надеюсь, это вам немного поможет. Я тоже нахожусь в этом же поиске, и это еще больше у меня есть.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector