Magento 2 API始终返回消费者无权访问%资源



我正在尝试使用Magento 2 REST API,但是即使在命令行卷曲时,我得到的唯一响应是Consumer is not authorized to access %resources

我设法获得了

的令牌
curl -X POST "http://magento.dev.blackorange.nl/index.php/rest/V1/integration/admin/token" 
-H "Content-Type:application/json" 
-d '{"username":"adminuser", "password":"adminpass"}'`

但是当我尝试

curl -X GET -H "Authorization: Bearer TOKEN" "http://magento.dev.blackorange.nl/rest/V1/products" 

(或任何其他端点)我得到Consumer is not authorized to access %resources消息

我是否在某个地方错过了一步?

确保您使用的是Magento2管理员用户名密码,而不是任何具有适当角色的API用户名密码,如果这不起作用,则尝试更改角色:所有

访问 get/v1/products 您需要通过 searchCriteria 参数其所需的参数。

1您需要致电管理员/令牌API您从这里获得的令牌您需要通过第二个API

替换令牌用您的令牌键从1st呼叫

curl -X GET -H "Authorization: Bearer ntfw****avefg***6mil***kysnl3***" "http://magento.dev.blackorange.nl/rest/V1/products" 

有关所有REST API参考:http://devdocs.magento.com/swagger/index.html#/

尝试修剪令牌值。它有空白的空间,这使其不正确。

尝试与Postman获得令牌: http://your-domin/rest/v1/intermation/inscration/admin/token

使用管理用户名密码例子: http://your-domin/rest/v1/intempration/admin/token

设置OAuth:1.0与客户/令牌相同

设置管理登录详细信息

用户名:管理员|密码:admin123

,然后使用Admin令牌重试未经授权的API。

注意:这不是一个好方法,因为对于客户应用程序而言,只需hit API即可使用

的admin/doken,这是不安全的方法

尝试更改Apache在Magento服务器上使用的PHP处理程序。我从CGI更改为SUPHP,并开始工作。有趣的是,正如Magento 2 REST身份验证问题所述,发布请求总是有效的,但是获取请求将失败。我不知道为什么更改处理程序解决问题。祝你好运。

最新更新