Magento Rest API Oauth URL返回404

Mat*_*man 4 api rest oauth magento

来自Magento wiki:

http://www.magentocommerce.com/api/rest/authentication/oauth_authentication.html#OAuthAuthentication-OAuthProcess

获取API令牌时,您可以通过以下方式获取未经授权的请求令牌:

www.mystore.com/oauth/initiate

但是,我的代码不起作用,当我在浏览器中浏览上面的URL时,我得到了404.

我将商店商店代码附加到基本网址(例如www.mystore.com/en/)我不知道这是否会改变任何内容.

psp*_*ahn 14

Magento Wiki有一个错字:

$adminAuthorizationUrl = 'http://yourhost/admin/oAuth_authorize';
Run Code Online (Sandbox Code Playgroud)

应该:

$adminAuthorizationUrl = 'http://yourhost/admin/oauth_authorize';
Run Code Online (Sandbox Code Playgroud)


小智 5

我也遇到了问题,以下请求返回了 404 http 状态:

http://yourmagentostore.com/oauth/initiate
Run Code Online (Sandbox Code Playgroud)

解决方案非常简单:如果您在同一域上使用多个商店和/或商店视图,请不要忘记添加映射到商店视图的 url 路径。例如

http://yourmagentostore.com/<my-store-view-path>/oauth/initiate
Run Code Online (Sandbox Code Playgroud)


小智 5

在一天中的大部分时间里,我都为此而苦苦挣扎,因此,如果有任何帮助,可以提供以下最新信息:

Magento记录的授权URL admin / oauth_authorize假定您没有使用自定义URL进行管理员访问。“ admin”是访问Magento仪表板的标准URL,但是出于安全性考虑,许多人对其进行了更改。如果您已将管理URL更改为“ admin”以外的名称,请改用该名称。

IOW如果您通过https://yoursite.com/foo访问Magento仪表板,则您的授权URL为foo / oauth_authorize。


Art*_*osz 4

我刚刚遇到了同样的问题。类似的问题不多,也没有解决办法。这很奇怪,因为这似乎缺少配置选项“global/request/direct_front_name”,该选项未在 Core/Oauth 模块中设置。如果没有这个重要的设置,所有教程如何工作!?

如果没有“oauth”设置,每次调用 /oauth/[controller] 都会导致“noRouteAction”被解析(请参阅Mage_Core_Controller_Request_Http::setPathInfo() 和 Mage_Core_Controller_Request_Http::isDirectAccessFrontendName($storeCode)),而不是默认的indexAction。

因此,解决方案是在本地配置或自己的扩展中设置此设置,如下所示

<?xml version="1.0"?>
<config>
  [...]
  <global>
    [...] 
    <request>
        [...] 
        <direct_front_name>
            <oauth/>
        </direct_front_name>
    </request>
  </global>
</config>
Run Code Online (Sandbox Code Playgroud)

之后你至少可以拿到token了。我现在正在检查进一步的流程。