@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-запросах.

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
23 апр. 2024, в 19:05
15000 руб./за проект
23 апр. 2024, в 19:01
7000 руб./за проект
23 апр. 2024, в 18:47
10000 руб./за проект