Перевірте автентифікацію нативного мобільного додатка за допомогою REST API


16

Я незабаром розпочинаю новий проект, який націлений на мобільний додаток для всіх основних мобільних платформ (iOS, Android, Windows). Це буде архітектура клієнт-сервер.

Додаток є інформаційним та транзакційним. Для трансакційної частини вони повинні мати обліковий запис та увійти, перш ніж здійснити транзакцію. Я новачок у розробці мобільних пристроїв, тому не знаю, як виконується частина аутентифікації на цих платформах. Клієнти будуть спілкуватися з сервером через API REST. Буде використовувати курс HTTPS.

Я ще не вирішив, чи хочу користувач увійти під час відкриття програми або лише тоді, коли він здійснює транзакцію.

У мене виникли такі запитання:

1) Як і програма Facebook, ви вводите свої дані лише тоді, коли ви відкриєте програму вперше. Після цього ви автоматично входите під час кожного відкриття програми. Як це досягти? Просто просто шифруючи та зберігаючи облікові дані на пристрої та надсилаючи їх кожного разу при запуску програми?

2) Чи потрібно мені автентифікувати користувача для кожного (транзакційного) запиту, зробленого в API REST, або використовувати підхід на основі лексеми?

Будь ласка, не соромтеся запропонувати інші способи аутентифікації.

Спасибі!

Відповіді:


14

Ви передаєте ім'я користувача / пароль методу входу в ваш RESTful API, і він повертає маркер доступу. Цей маркер доступу - це лише якась унікальна (для системи) рядок.

Пристрій зберігає (зберігається) цей маркер доступу. Кожен раз, коли ви надсилаєте RESTful запит на сервер, ви ставите цей маркер доступу в заголовок HTTP-запиту. Сервер знаходить користувача за допомогою маркера доступу та успішно виконує запит.

ім'я користувача / пароль не повинні зберігатися на пристрої.


Чи можна третім особам (хакерам тощо) отримати доступ до маркера доступу?
Суперклей

Це можливо, звичайно. Особливо, якщо ви не використовуєте HTTPS. Більшість клієнтів електронної пошти просять вас час від часу переходити. Для маркера час закінчення, наприклад, встановлений на два тижні. Тому раз на два тижні вам потрібно буде переробити.
c-smile

Як буде генеруватися маркер доступу та чи буде маркер доступу збережений на сервері.
Ghyath Serhal

@ c-smile Facebook ніколи не просив мене знову входити. Тому я не бачу різниці між паролем і маркером доступу.
Мікаель Марраш

я знаю, це досить пізно. але facebook та інші провайдери видають маркер оновлення, маркер доступу та термін дії (для маркера доступу) під час входу. маркер доступу короткочасний і новий маркер доступу може бути створений за допомогою маркера оновлення. Наступний логін може створити новий маркер оновлення, зробивши старий недійсним
Cerlin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.