Я собираюсь разработать приложение для Android для своего Prestashop. Prestashop предоставляет веб-сервис, который использует КЛЮЧ для аутентификации/авторизации доступа к веб-сервису. Однако я хочу предоставить систему, в которой каждый пользователь Prestashop может размещать заказы, используя свою пару «пользователь/пароль».
Итак, я хочу знать, как я могу проверить, введен ли пользователь/пароль в моем Android приложение правильное, а затем предоставьте ему доступ на нужном уровне или позвольте ему размещать заказы в моем магазине. Я не знаю правильного механизма. Должен ли я разработать свой собственный модуль для аутентификации пользователей или для этого есть встроенный механизм внутри Prestashop?
Механизм аутентификации приложения Android для Prestashop
Ответы (1)
Веб-сервис позволяет выполнять все типы операций CRUD. Я не знаком с Android точно, но я бы сделал так:
Создайте новую учетную запись веб-сервиса (получите КЛЮЧ) и разрешите доступ к
customers
иorders
.Когда клиент вошел в мое приложение, получите поле пароля для своего логина, например
/api/customers/?display=[passwd]&filter[email]=customer_email
(см. документы).Сравните пароли (см. /classes/Tools.php метод
encrypt()
)Разместите заказ от имени этого клиента в магазине.
Подробнее здесь Использование веб-службы PrestaShop
person
Serge P
schedule
18.09.2015
Вопрос: пароли клиентов генерируются путем конкатенации значения файла cookie внутри settings.inc.php и пароля, так как я могу использовать этот файл cookie на своем телефоне Android, чтобы проверить, все ли в порядке?
- person VSB; 18.09.2015
извините, я поторопился и сделал ошибку, когда клиент вводит пароль, он попадает в БД в следующем представлении:
public static function encrypt($passwd) { return md5(_COOKIE_KEY_.$passwd); }
у нас есть значения константы и пароля и мы можем сравнивать хэши. Я обновлю свой ответ.
- person Serge P; 18.09.2015
Я снова прочитал ваш вопрос, теперь не уверен, что вы имеете в виду, COOKIE_KEY это константа, определенная в settings.inc.php, как вы сказали, поэтому, если это ваш магазин - вы можете получить эту константу.
- person Serge P; 18.09.2015