【问题标题】:Magento 2 CE customer update REST API not validating the passwordMagento 2 CE 客户更新 REST API 未验证密码
【发布时间】:2018-08-04 04:49:38
【问题描述】:

用于客户信息更新的 Magento2 CE REST API 不使用实际密码验证给定密码,它接受所有内容。如果用户想更改其帐户的电子邮件地址,Magento 会询问密码并验证它。如果我们输入错误的密码,它将不允许我们更改密码。

Content-Type : application/json
Authorization: Bearer "customerToken"

Method: PUT <base_url>/rest/V1/customers/:customerID

Request:
{
  "customer": {
    "id": "45338",
    "email": "test230720195@yopmail.com",
    "firstname": "Updatetest",
    "lastname": "Testing",
    "websiteId": 1
  },
  "password": "qawsedrf!"
}

是否有任何其他 API 可以通过密码验证更新客户信息?

-提前致谢。

【问题讨论】:

  • 为什么需要在这个请求中验证密码?据我所知,这不是必需的,所以如果您不想更新,请不要添加到正文中。
  • 在网页中,如果用户想更改他帐户的电子邮件地址,它会要求密码与用户验证。如果我们输入错误的密码,它将不允许我们更改密码。

标签: php rest magento2


【解决方案1】:

要重置客户密码,您可以使用以下请求

Content-Type : application/json
Authorization: Bearer "authToken"

Method: PUT <base_url>/rest/V1/customers/me/password

Request:
{
  "currentPassword": "string",
  "newPassword": "string"
}

注意这里的身份验证令牌是您获得的值

/V1/integration/customer/token

对于您问题中的请求,您应该使用来自

的令牌
/V1/integration/admin/token

【讨论】:

    猜你喜欢
    • 2017-04-05
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 2012-03-25
    • 2016-01-21
    • 1970-01-01
    • 2016-08-04
    • 1970-01-01
    相关资源
    最近更新 更多