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