prestashop用户登录集成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了prestashop用户登录集成相关的知识,希望对你有一定的参考价值。

我必须将PrestaShop 1.5与预先存在的symfony应用程序集成。

通过webservices,我可以使数据库保持同步,这样用户就可以在PrestaShop和应用程序软件上使用相同的数据进行登录。现在我想确保登录应用程序,用户自动登录PrestaShop平台。

你能帮助我吗?

答案

我不知道你是否还在寻找解决方案,但实际上还有一种方法。

请确认这是一个安全的登录。

由于您可以访问所有prestashop数据,因此请确保登录非常安全。我已经能够用php重新创建它我认为通过一些附加功能,你可以按照你想要的方式重新创建它。将其视为指南。

要使用prestashop webservice创建登录系统,您需要做三件事

通过webservice访问customers表COOKIE_KEY,在app / config中定义 - > parameters.php ::'cookie_key'=>'12321test'; PHP的一些实现首先是从Web服务获取customers表。

// code placeholder
require_once('./../PSWebServiceLibrary.php');

/**
 * get information from PrestaShop
 */

$webService = new PrestaShopWebservice($url, $key, $debug);

$COOKIE_KEY = 'CookieKey';
$email = $_REQUEST['email'];
$password = $_REQUEST['password'];

$optUser = array(
    'resource' => 'customers',
    'filter[email]' => '[' . $email . ']',
    'display' => '[id,email,lastname,firstname,passwd]'
);

$resultUser = ($webService->get($optUser));

$json = json_encode($resultUser);

第二个也是最重要的是检查用户输入

// code placeholder

foreach ($resultUser->customers->customer as $info) {
    // Prestashop uses the cookie_key in combination with a salt key. To check the password use the php function: password_verify();
    $salt = substr($info->passwd, strrpos($info->passwd, ':') + 1, 2);
    $ZCpassword = md5($COOKIE_KEY . $password) . ':' . $salt;

    // Check if password comparison is true or false
    if (password_verify($password, $info->passwd) == true) {
        session_start();
        $response = array();
        $response['status'] = 'succes';
        $response['message'] = "You did it!";
        setcookie("userId", $info->id);
        header('Content-type: application/json');
        echo json_encode($response);
    } else {
        $response = array();
        $response['status'] = 'error';
        $response['message'] = 'Wrong password';
        header('Content-type: application/json');
        echo json_encode($response);
    }
}

这是如何将问题重现到一个工作示例。

我用过的是设置cookie并检查它是否存在!

希望这可以帮助!

以上是关于prestashop用户登录集成的主要内容,如果未能解决你的问题,请参考以下文章

谁有Prestashop集成GTM电子商务分析经验

Prestashop - 在Google Analytics中发送订单活动

Prestashop - 我的模块的 REST 端点

Prestashop 无法以管理员身份登录

尝试登录 Prestashop 管理面板时出现严重的 WordPress 错误

活动与片段实施