Механизм аутентификации приложения Android для Prestashop

Я собираюсь разработать приложение для Android для своего Prestashop. Prestashop предоставляет веб-сервис, который использует КЛЮЧ для аутентификации/авторизации доступа к веб-сервису. Однако я хочу предоставить систему, в которой каждый пользователь Prestashop может размещать заказы, используя свою пару «пользователь/пароль».

Итак, я хочу знать, как я могу проверить, введен ли пользователь/пароль в моем Android приложение правильное, а затем предоставьте ему доступ на нужном уровне или позвольте ему размещать заказы в моем магазине. Я не знаю правильного механизма. Должен ли я разработать свой собственный модуль для аутентификации пользователей или для этого есть встроенный механизм внутри Prestashop?


person VSB    schedule 18.09.2015    source источник


Ответы (1)


Веб-сервис позволяет выполнять все типы операций CRUD. Я не знаком с Android точно, но я бы сделал так:

  1. Создайте новую учетную запись веб-сервиса (получите КЛЮЧ) и разрешите доступ к customers и orders.

  2. Когда клиент вошел в мое приложение, получите поле пароля для своего логина, например

    /api/customers/?display=[passwd]&filter[email]=customer_email (см. документы).

  3. Сравните пароли (см. /classes/Tools.php метод encrypt())

  4. Разместите заказ от имени этого клиента в магазине.

Подробнее здесь Использование веб-службы PrestaShop

person Serge P    schedule 18.09.2015
comment
Вопрос: пароли клиентов генерируются путем конкатенации значения файла cookie внутри settings.inc.php и пароля, так как я могу использовать этот файл cookie на своем телефоне Android, чтобы проверить, все ли в порядке? - person VSB; 18.09.2015
comment
извините, я поторопился и сделал ошибку, когда клиент вводит пароль, он попадает в БД в следующем представлении: public static function encrypt($passwd) { return md5(_COOKIE_KEY_.$passwd); } у нас есть значения константы и пароля и мы можем сравнивать хэши. Я обновлю свой ответ. - person Serge P; 18.09.2015
comment
Я снова прочитал ваш вопрос, теперь не уверен, что вы имеете в виду, COOKIE_KEY это константа, определенная в settings.inc.php, как вы сказали, поэтому, если это ваш магазин - вы можете получить эту константу. - person Serge P; 18.09.2015