Чи є підтримка сеансу клієнтів через програмне забезпечення REST Magento?


9

Я працюю над розширенням функцій списку бажань на REST api Magento. Було б непогано зайти на сеанс клієнта. Чи має Magento підтримку доступу до сесії клієнта через REST?


Навіщо потрібен доступ до сеансу? Елементи списку бажань зберігаються у db та мають посилання на ідентифікатор клієнта. .. Або, можливо, мені чогось не вистачає
Маріус

Тому що у мене немає ідентифікатора клієнта.
Райре

2
Гаразд ... шви справедливі ... вибачте за моє незнання :)
Маріус

Не хвилюйтесь! Моє запитання було коротким, тому, мабуть, трохи пояснень, мабуть, в порядку.
Райре

Як я читав у Документації API Magento REST, доступ до сеансу через REST немає. Ви думали про використання oAuth?
Anna Völkl

Відповіді:


5

Як було сказано в моїх коментарях вище, я рекомендую надати вхід користувача oAuth для отримання доступу до customerID. Щоб відповісти на ваше запитання: Ні, доступ до сеансу з клієнтом неможливий.

Потік може бути таким:

  1. Користувач отримує доступ до стороннього веб-сайту, на якому потрібно надати функцію списку бажань
  2. Функція списку бажань / списку бажань (додаючи новий елемент до списку бажань, показуючи його список бажань тощо)
  3. Користувач входить через oAuth у свій магазин Magento
  4. Отримайте ідентифікатор клієнта від oAuth
  5. Продовжуйте функціонувати зі списку бажань

Для авторизації користувача рекомендую дотримуватися розділів "Отримання маркер несанкціонованого запиту" та "Авторизація користувача" на цій сторінці .


Ваша відповідь першою запропонувала дієве рішення!
Райре

Який прийнятий спосіб отримання ідентифікатора клієнта від oAuth? Я ніде не бачу такої функціональності у своїх документах.
Степан Мазуров

Я це зрозумів. Для всіх, хто має те саме питання, переконайтеся, що у вашої ролі "замовника" є дозволи на доступ до програми
Степан Мазуров

Привіт @Anna Völkl, Як я отримаю ідентифікатор клієнта у програмі RENT api? Тому що, коли я передаю токен клієнта в Header, мені потрібен ідентифікатор клієнта, який маркер клієнта належить до цього конкретного маркера клієнта в Магенто 2
Aditya Shah

API моїх продуктів повертає продукти, якщо я спробую з клієнтом, я отримую помилку, моя URL: 192.168.1.65/anusthana/api/rest/customers помилка: snag.gy/0jbhTr.jpg може допомогти мені @Anna
zus

6

Ні.

Сеанс з клієнтом прив’язаний до файлу cookie, що переглядає клієнт. Якщо ви використовуєте файлові сеанси, вони зберігатимуться під var / session / - якщо ви використовуєте базу даних як сховище сеансів, це зберігатиметься у core_session.

У будь-якому випадку, щоб мати доступ до нього, вам потрібно знати клієнт session_id, який за дизайном повинен бути лише між браузером та сервером. * 1)

Кращим підходом, як пропонується у коментарях вище, було б з'ясувати, яку інформацію ви маєте для клієнта (customer_id, електронна адреса), а потім отримати доступ до списку бажань через це.

Ще одне, що потрібно пам’ятати, - це те, що сеанс, який ви встановили для спілкування з API, є окремим для сеансу, який має клієнт.

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

* 1) ви, можливо, зможете прочитати сеанс cookie, який зараз використовується, і зберегти його в базі даних для подальшої обробки, але вам знову знадобиться якась інша інформація, щоб прив’язати її назад до логіки, яку ви зараз намагаєтеся реалізувати, тому я не дивіться будь-яке використання тут.


дякую за чудову відповідь. Моя кінцева мета - отримати доступ до даних клієнтів через REST, який клієнт бачить під час входу в передній план: історія замовлень, збережені адреси тощо
Ryre

Ще якийсь контекст, безумовно, допоможе. Яка програма надсилає ці запити? Я здогадуюсь тут, що у вас є не-Magento веб-сайт, на якому ви хочете відобразити дані Magento, але це не зовсім зрозуміло з вашого запитання і може бути щось інше повністю. Пропозиції OAuth передбачають дії, які повинен зробити клієнт. Інші підходи включають обмін сеансом між двома системами (наприклад, подивіться на різні інтеграції wordpress).
Крістоф у Фомані

Ваша здогадка досить близька! Я допомагаю розширити основні послуги REST для програми iphone. Фронтальний аут вирішує проблему, яку я маю; вибачте за те, що не задали чіткішого запитання.
Райре

1

Я думаю, що ви шукаєте - це суміш API REST та OAuth Magento. За допомогою OAuth користувач інтерфейсу може увійти в середовище Magento, надаючи вашій (третій стороні) заявку та доступ до його даних клієнтів, таких як історія замовлень.

Наскільки я знаю, це так близько, як ви можете дістатися до клієнтської сесії за допомогою API.

Перегляньте цю документацію Magento на цю тему, а також цю приємну статтю Inchoo

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.