Magento 使用 OAuth 通过 REST API 到 NodeJS

Posted

技术标签:

【中文标题】Magento 使用 OAuth 通过 REST API 到 NodeJS【英文标题】:Magento to NodeJS via REST APIs using OAuth 【发布时间】:2014-09-22 12:44:39 【问题描述】:

我正在尝试使用常规 HTTP 请求从 NodeJS 应用程序调用 Magento REST API(比如产品 api)。我知道 Magento API 需要 OAuth 来验证用户/应用程序,这就是我有点迷失的地方。

对于 Magento 或任何 OAuth 应用程序,使用该应用程序的最终用户必须单击“授权”才能使该应用程序接收令牌,然后该应用程序将能够直接与 Mangento API 通信。

在我的例子中,我们谈论的是 2 个服务器,Magento 和 NodeJS,它们会相互通信。因此,没有用户参与“单击”授权按钮并验证身份验证请求。

我想要实现的目的是从 Magento 获取产品数据,将其存储在数据库中,然后进行一些更改,然后通过 NodeJS REST API 访问它。 (这是一个硬性要求,我无法更改)。

我的问题是,我们是否必须编写不需要 OAuth 的自定义 Magento REST API,或者可能需要常规的基本 HTTP 身份验证(用户名/密码)。或者有一种方法可以使用 OAuth 并直接对我的 Node 应用程序进行身份验证?

我希望我的问题很清楚,如果没有,请告诉我,我会尝试解决它。谢谢!

【问题讨论】:

【参考方案1】:

在遇到类似情况后,我决定使用 Magento 的 SOAP API。就身份验证而言,您所要做的就是在 Magento 后端设置一个 API 用户,然后在您的 API 调用中使用用户名/密码(我想,这已经有一段时间了)。不确定这是否适合您的用例,但它为我节省了很多 OAuth 头痛。

【讨论】:

感谢您的回复。我们为那个项目坚持使用 OAuth,这很痛苦。我希望我们之前考虑过!再次感谢!

以上是关于Magento 使用 OAuth 通过 REST API 到 NodeJS的主要内容,如果未能解决你的问题,请参考以下文章

Magento REST API,用户授予管理员角色但仅授予访客访问权限

Magento 2 REST API入门

oAuth访问令牌

如何使用 oauth2 通过 REST Web 服务进行身份验证

可以通过 oauth 处理登录的 REST 客户端

使用 OAuth 保护我的 REST API,同时仍然允许通过第三方 OAuth 提供程序进行身份验证(使用 DotNetOpenAuth)