Задать вопрос
@easycode
не боюсь задавать глупые вопросы ))

Два варианта авторизации мобильного приложения на сайте через Ajax-запросы — ваше мнение?

Итак, имеется мобильное приложение (PhoneGap + Framework7), взаимодействующее с сайтом на PHP посредством AJAX-запросов. В приложении есть разделы требующие авторизованного доступа. Желательно, чтобы после аунтификации приложение не спрашивало у пользователя логин и пароль в течении 6 месяцев.

Хочу использовать token'ы, но только по своему. Есть две идеи:

1) После аунтификации приложение в ответ получает token, сохраняет его в localStorage и затем для всех своих AJAX-запросов к серверу добавляет значение этого token в HTTP-заголовок: Authorization. На стороне сайта происходит сверка/валидация token'а, и если Ajax-запрос требует авторизации, то перед его выполнение происходит авторизация по этому token'у

2) После аунтификации приложение в ответ получает token и PHPSESSID и сохраняет их в localStorage и затем для всех своих AJAX-запросов к серверу добавляет значения этих: token и PHPSESSID в HTTP-заголовок: Authorization. На стороне сайта происходит проверка существования/активности PHP-сессии с id =PHPSESSID, если такая сессия есть, то в $_COOKIE['PHPSESSID'] записывается значение PHPSESSID - тем самым мы подключаем запрос к PHP-сессии, если же такой сессии нет, то происходит аунтификация/авторизация через token, берется id текущей (новой) сессии пользователя и в ответе через какой-нибудь HTTP-заголовок передается PHPSESSID. Мобильное приложение обновляет значение PHPSESSID в localStorage для использования в последующих Ajax-запросах.

Какой вариант выбрали бы Вы и почему?
Может предложите какой-нибудь третий вариант?
  • Вопрос задан
  • 958 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
Ivanq
@Ivanq
Знаю php, js, html, css
Может я что-то не понимаю, но зачем Authorization? Мне казалось, он нужен для другого. Чем хуже хранить токен в куках, а на сервере доставать токен оттуда?
Ответ написан
@Simple91
Я раньше делал как в первом варианте, сохранял данные в LocalStorage и после этого в каждом запросе отправлял эти данные на сервер.
На странице где нужна авторизация, стоит скрипт которые обращается к базе данных и сверяет пользователя, если таковой есть и у него достаточно прав для просмотра документа, ему показывается контент.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
18 дек. 2024, в 13:22
30000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект
18 дек. 2024, в 12:22
5000 руб./за проект