在GET / POST / PUT上对客户进行GET / POST / PUT时,有什么方法可以禁用/不使用Magento的REST API上的oAuth?

时间:2015-08-10 06:37:31

标签: php api rest magento oauth

我是Magento的新手。 是否可以(暂时?)禁用oAuthMagento的要求并仍然检索客户数据。通过REST API?

所以基本上能够通过HTTP发出GET,PUT请求而不使用oAuth

网址:http://magento/api/rest/customers?limit=2

  

我收到拒绝访问(403)错误。

注意:我能够阅读产品。

4 个答案:

答案 0 :(得分:0)

请尝试这个。可能有效。

转到Magento管理面板,系统 - > Webservices-> REST属性 - >选择用户类型客户并选择资源访问为ALL并保存。 现在检查:http://magento/api/rest/customers?limit=2

答案 1 :(得分:0)

您可以转到app / code / core / Mage / Api2 / Model / Auth.php并将 const DEFAULT_USER_TYPE =' guest' 更改为 const DEFAULT_USER_TYPE =& #39; admin' 并转到app / code / core / Mage / Api2 / Model / Auth / Adapter.php并更改 return(object)数组(' type' => Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE,' id' => null)返回(对象)数组('类型' => Mage_Api2_Model_Auth :: DEFAULT_USER_TYPE ,' id' => 1)

这会将默认使用者设置为Admin,您将能够以管理员权限访问所有API。您也可以将其更改为' customer'并在Adapter.php中提供任何客户ID。

答案 2 :(得分:0)

您需要授予访客访问客户资源的权限。

还没试过,但我建议你扩展模块

  • mage / customer etc / api2 model / api2 / customer / rest / 复制到本地模块,这样您就不会修改核心数据。

  • 然后修改 etc / api2 ,以便您可以访问来宾并添加属性权限

  • api2 / customer / rest 上添加所需的模型,以便guest可以处理回调,我猜想只需复制admin,重命名为guest,并在v1中重命名类名应该执行特技。

答案 3 :(得分:0)

您可以在Magento中为REST API实现自己的身份验证适配器,而不是oAuth。您可以在this article中找到更多详细信息。