Web services 通过Web服务登录到prestashop 1.7

Web services 通过Web服务登录到prestashop 1.7,web-services,authentication,ionic4,prestashop-1.7,password-encryption,Web Services,Authentication,Ionic4,Prestashop 1.7,Password Encryption,这里有个绝妙的地方。我正在用prestashop 1.7创建一个ionic应用程序 TL;博士: 我不能使用与Prestashop 1.7相同的加密来比较应用程序用户密码和数据库中的加密密码 详情: 所以prestashop没有提供正确的登录方式(文档中甚至没有提到登录词)。 我想用输入的电子邮件(api/customers/?filter[email]=INPUT\u email)获取客户,然后用api中的“passwd”属性加密输入密码。 问题是我无法应用与Prestashop相同的加密

这里有个绝妙的地方。我正在用prestashop 1.7创建一个ionic应用程序


TL;博士:

我不能使用与Prestashop 1.7相同的加密来比较应用程序用户密码和数据库中的加密密码


详情:

所以prestashop没有提供正确的登录方式(文档中甚至没有提到登录词)。 我想用输入的电子邮件(api/customers/?filter[email]=INPUT\u email)获取客户,然后用api中的“passwd”属性加密输入密码。 问题是我无法应用与Prestashop相同的加密(即使密码正确,它们也永远不会匹配)

附言:


我尝试了
md5(COOKIE\u KEY+INPUT\u PASSWORD)
,但仍然不是正确的选择

晚了一点,但我相信其他人也会面对这个问题。 我所做的和问题中提到的一样:获取客户信息并匹配密码。 Prestashop 1.6显然使用了md5,但PS 1.7使用了bcrypt,因此您必须:

获取bcryptjs包(我使用angular,nodejs有bcrypt包)

$2y$
替换为
$2a$
(第一个由PHP的bcrypt使用,第二个由Javascript使用)

将哈希值与键入的密码进行比较
bcrypt.Compare(输入密码,pwd)

从那里,如果他们匹配,然后你调整你的应用程序,以表现出想要的