Token-based 认证
认证 tokens
若要从客户端(如移动应用程序)生成web API调用,必须在调用上提供认证“token”。“token”的作用就像一个电子密钥,可以让您访问API。
Magento 2的管理员和客户提供一个单独的token服务。当你请求token从一个这些服务,服务将返回在Magento的帐户的用户名和密码交换的一个独特的认证token。
使用下列调用获取身份验证token:
请求 | REST | Soap |
---|---|---|
获取admin token | POST /V1/integration/admin/token |
integrationAdminTokenServiceV1 |
获取customer token | POST /V1/integration/customer/token |
integrationCustomerTokenServiceV1 |
示例
下图显示了使用REST客户端的管理帐户的token请求:
下面的示例使用 curl
命令请求客户帐号token:
curl -X POST "https://magento.host/index.php/rest/V1/integration/customer/token" \
-H "Content-Type:application/json" \
-d '{"username":"customer1@example.com", "password":"customer1pw"}'
下面的示例为客户帐户token与xml进行相同的请求:
curl -X POST "http://magento.vg/index.php/rest/V1/integration/customer/token" -H "Content-Type:application/xml" -d '<login><username>customer1@example.com</username><password>customer1pw</password></login>'
关于curl
命令的更多信息, 查看 使用cURL运行请求
认证 token 响应
成功的请求用token返回响应体,如下所示:
asdf3hjklp5iuytre
在Web API请求中使用token
Authorization: Bearer <authentication token>
Admin access
curl -X GET "http://magento.ll/index.php/rest/V1/customers/2" -H "Authorization: Bearer vbnf3hjklp5iuytre"
Customer access
例如,用客户token生成web API调用: curl -X GET "http://magento.ll/index.php/rest/V1/customers/me" -H "Authorization: Bearer asdf3hjklp5iuytre"
相关话题
构建一个请求
限制匿名Web API的访问