Magento'nun REST api üzerinden müşteri oturumu desteği var mı?


9

Magento'nun REST API'sine dilek listesi işlevselliğini genişletme üzerinde çalışıyorum. Müşterinin oturumuna erişmek güzel olurdu. Magento'nun REST yoluyla müşterinin oturumuna erişmesi için herhangi bir desteği var mı?


Neden oturum erişimine ihtiyacınız var? İstek listesi öğeleri db'de saklanır ve müşteri kimliğine referans verir. ..Ya da belki bir şey eksik
Marius

Çünkü müşteri kimliğim yok.
Ryre

2
Tamam ... adil dikişler ... cehaletim için üzgünüm :)
Marius

Telaşa gerek yok! Sorum kısa, bu yüzden küçük bir açıklama muhtemelen sırayla.
Ryre

Magento REST API Dokümantasyonunda okuduğum gibi REST yoluyla oturuma erişim yok. OAuth kullanmayı düşündün mü?
Anna Völkl

Yanıtlar:


5

Yukarıdaki yorumlarımda belirtildiği gibi, customerID'ye erişmek için oAuth ile bir kullanıcı girişi sağlamanızı öneririm. Sorunuzu yanıtlamak için: Hayır, müşteri oturumuna erişmek mümkün değildir.

Akış aşağıdaki gibi olabilir:

  1. Kullanıcı, istek listesi işlevselliğini sağlamak istediğiniz bir üçüncü taraf web sitesine erişir
  2. Kullanıcı istek istek listesi / istek listesi işlevselliği (istek listesine yeni bir öğe ekleyerek, istek listesini göstererek vb.)
  3. Kullanıcı magento mağazanızdaki oAuth aracılığıyla oturum açar
  4. OAuth'dan müşteri kimliğini alma
  5. İstek listesi işlevinize devam edin

Kullanıcı Yetkilendirmesi için, bu sayfadaki "Yetkisiz İstek Simgesi Alma" ve "Kullanıcı Yetkilendirme" bölümlerini izlemenizi öneririz .


Cevabınız, uygulanabilir bir çözüm sunan ilk kişi oldu!
Ryre

OAuth'dan müşteri kimliği almanın kabul edilen yolu nedir? Dokümanlarının hiçbir yerinde böyle bir işlev görmüyorum.
Stepan Mazurov

Anladım. Aynı sorunu yaşayan herkes için, "müşteri" rolünüzün
API'ye

Merhaba @Anna Völkl, Magento REST api'de nasıl müşteri kimliği alabilirim? Çünkü Header'da müşteri jetonunu geçtiğimde, müşteri jetonunun magento 2'deki belirli müşteri jetonuna ait olduğu müşteri kimliğine ihtiyacım var
Aditya Shah

Ürünlerim API'sı ürünler döndürüyor, müşteri ile denemem hata alıyorum, url'm : 192.168.1.65/anusthana/api/rest/customers hatası: snag.gy/0jbhTr.jpg bana yardımcı olabilir @Anna
zus

6

Hayır.

Müşteri oturumu, göz atma müşterisinin sahip olduğu ön uç çerezine bağlıdır. Dosya tabanlı oturumlar kullanıyorsanız bunlar var / sessions / altında saklanır - ve veritabanını oturum depolama alanı olarak kullanıyorsanız, bu core_session içinde saklanır.

Her durumda erişebilmeniz için, tasarımdan yalnızca tarayıcı ve sunucu arasında olması gereken session_id'i müşteriden bilmeniz gerekir. * 1)

Yukarıdaki yorumlarda önerildiği gibi daha iyi bir yaklaşım, müşteri için hangi bilgilere sahip olduğunuzu (müşteri_kimliği, e-posta adresi) bulmak ve daha sonra bu istek listesine erişmektir.

Akılda tutulması gereken diğer bir şey, API ile iletişim kurmak için oluşturduğunuz oturumun, bir müşterinin oturumundan ayrı olmasıdır.

Genel olarak, mevcut kısıtlamalarınızı belirten dilek listesi ile elde etmeye çalıştığınız şeyi gönderirseniz, daha etkili bir cevap alacağınızı hissediyorum.

* 1) şu anda kullanılan çerez oturumunu okuyabilir ve daha fazla işlem için veritabanına kaydedebilirsiniz, ancak bunu şu anda uygulamaya çalıştığınız mantığa geri bağlamak için başka bilgilere ihtiyacınız olacaktır, bu yüzden yapmıyorum burada herhangi bir kullanım görmek.


harika cevap için teşekkürler. Son hedefim, müşterinin ön uçta oturum açarken gördüğü REST üzerinden müşteri verilerine erişmek: sipariş geçmişi, kaydedilen adresler, vb.
Ryre

Biraz daha bağlam kesinlikle yardımcı olacaktır. Bu talepleri hangi uygulama yapıyor? Sanırım burada Magento verilerini görüntülemek istediğiniz Magento olmayan bir web siteniz var, ancak bu sorunuzdan çok açık değil ve tamamen başka bir şey olabilir. OAuth önerileri müşterinin yapması gereken işlemleri içerir. Diğer yaklaşımlar arasında oturumun iki sistem arasında paylaşılması yer alır (örneğin çeşitli wordpress entegrasyonlarına bir göz atın).
Kristof at Fooman

Tahmininiz oldukça yakın! Bir iphone uygulaması için temel REST hizmetlerini genişletmeye yardım ediyorum. Ön uç oauth yaşadığım sorunu çözüyor; daha net bir soru sormadığım için üzgünüm.
Ryre

1

Aradığın şey REST API ve Magento'nun OAuth'unun bir karışımı. OAuth ile ön uç kullanıcısı (3. taraf) uygulamanızı ve sipariş geçmişi gibi müşteri verilerine erişim sağlayarak Magento ortamına giriş yapabilir.

Bildiğim kadarıyla bu API kullanarak müşteri oturumuna alabilirsiniz kadar yakın.

Check out bu Magento belgelerine göre konuyla ilgili ve ayrıca bu güzel yazı Inchoo

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.