Magento의 REST API를 통한 고객 세션 지원이 있습니까?


9

위시리스트 기능을 Magento의 REST API로 확장하려고합니다. 고객의 세션에 액세스하는 것이 좋습니다. Magento는 REST를 통해 고객의 세션에 액세스 할 수 있습니까?


왜 세션 액세스가 필요합니까? 위시리스트 항목은 db에 저장되며 고객 ID에 대한 참조가 있습니다. .. 또는 어쩌면 내가 놓친 것
Marius

고객 ID가 없기 때문입니다.
Ryre

2
Ok.seams fair ... 죄송합니다. :)
Marius

걱정 마! 내 질문은 간단했기 때문에 약간의 설명이 순서가 맞을 것입니다.
Ryre

Magento REST API 설명서를 읽으면 REST를 통해 세션에 액세스 할 수 없습니다. oAuth 사용에 대해 생각해 보셨습니까?
Anna Völkl

답변:


5

위의 의견에서 언급했듯이 customerID에 액세스하려면 oAuth로 사용자 로그인을 제공하는 것이 좋습니다. 귀하의 질문에 대답하기 위해 : 아니오, 고객 세션에 액세스 할 수 없습니다.

흐름은 다음과 같습니다.

  1. 사용자가 희망 목록 기능을 제공하려는 타사 웹 사이트에 액세스
  2. 사용자 요청 위시리스트 / 위시리스트 기능 (위시리스트에 새 항목 추가, 위시리스트 표시 등)
  3. 사용자가 magento 상점에서 oAuth를 통해 로그인
  4. oAuth에서 고객 ID 검색
  5. 위시리스트 기능으로 진행

사용자 권한 부여의 경우이 페이지의 "무단 요청 토큰 얻기"및 "사용자 권한 부여"섹션을 따르는 것이 좋습니다 .


귀하의 답변은 실행 가능한 솔루션을 제공 한 최초의 것입니다!
Ryre

oAuth에서 고객 ID를 얻는 방법은 무엇입니까? 문서의 어느 곳에서도 그러한 기능을 볼 수 없습니다.
Stepan Mazurov

나는 그것을 알아 냈습니다. 같은 문제를 가진 다른 사람 들어, "고객"역할 액세스에 API 권한이 있는지 확인
스테판 Mazurov

안녕하세요 @Anna Völkl, magento REST api에서 고객 ID를 어떻게 얻습니까? 헤더에 고객 토큰을 전달할 때 magento 2의 특정 고객 토큰에 속한 고객 ID가 필요하기 때문에
Aditya Shah

: 나는 오류가 발생하고 고객, 내 URL을 함께하려고하면 내 제품의 API를 반환 제품은 192.168.1.65/anusthana/api/rest/customers의 오류 : snag.gy/0jbhTr.jpg이 유 도움이 될 수 있습니다 나를 @Anna
ZUS

6

아니.

고객 세션은 브라우징 고객이 보유한 프론트 엔드 쿠키와 연결되어 있습니다. 파일 기반 세션을 사용하는 경우 이들은 var / sessions / 아래에 저장됩니다.-데이터베이스를 세션 저장소로 사용하는 경우 core_session에 저장됩니다.

어쨌든 액세스 할 수 있으려면 브라우저와 서버 사이에 있어야하는 고객의 session_id를 알아야합니다. *1)

위의 의견에서 제안한 것처럼 더 나은 방법은 고객이 사용할 수있는 정보 (customer_id, 이메일 주소)를 파악한 다음이를 통해 위시리스트에 액세스하는 것입니다.

명심해야 할 또 다른 사항은 API와 통신하기 위해 설정 한 세션이 고객이 보유한 세션과 별개라는 것입니다.

전반적으로 현재 제약 조건을 나타내는 위시리스트로 달성하려는 내용을 게시하면보다 실용적인 답변을 얻을 수 있다고 생각합니다.

* 1) 현재 사용중인 쿠키 세션을 읽고 추가 처리를 위해 데이터베이스에 저장할 수 있지만 현재 구현하려는 논리에 다시 연결하려면 다른 정보가 필요합니다. 여기에 사용하십시오.


큰 답변 주셔서 감사합니다. 최종 목표는 고객이 프론트 엔드에 로그인 할 때 표시되는 주문 내역, 저장된 주소 등 REST를 통해 고객 데이터에 액세스하는 것입니다.
Ryre

더 많은 맥락이 확실히 도움이 될 것입니다. 어떤 응용 프로그램에서 이러한 요청을하고 있습니까? 내 생각에 Magento 데이터를 표시하려는 비 Magento 웹 사이트가 있지만 이것은 귀하의 질문에서 명확하지 않으며 완전히 다른 것일 수 있습니다. OAuth 제안에는 고객이해야 할 조치가 포함됩니다. 다른 접근법으로는 두 시스템간에 세션을 공유하는 것이 있습니다 (예 : 다양한 워드 프레스 통합을 살펴보십시오).
Kristof at Fooman

당신의 추측은 꽤 가깝습니다! 아이폰 앱의 기본 REST 서비스를 확장하는 데 도움을주고 있습니다. 프론트 엔드 oauth는 내가 가진 문제를 해결합니다. 더 명확한 질문을하지 않아서 죄송합니다.
Ryre

1

당신이 찾고있는 것은 REST API와 Magento의 OAuth가 혼합 된 것이라고 생각합니다. OAuth를 사용하면 프론트 엔드 사용자가 Magento 환경에 로그인하여 (타사) 애플리케이션을 제공하고 주문 내역과 같은 고객 데이터에 액세스 할 수 있습니다.

내가 아는 한 API를 사용하여 고객 세션에 접근 할 수있는 한 가깝습니다.

확인 이 젠토 문서 에 의한 주제에 및이 좋은 기사 Inchoo을

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.