如何将Magento客户授权令牌从php curl传递到浏览器



我正在尝试将一个新网站(Wordpress网站(与Magento网站集成,我已经使用php-ccurl进行了API集成,我还将Magento网址添加到了新网站。

我可以通过Magento API创建帐户并验证用户,但这仅限于API功能,现在的问题是我不知道如何让用户通过新网站(Wordpress网站(登录,当他/她访问Magento网站时,他/她不必再次登录。两个网站之间的(单次登录(。

我尝试了以下操作,但不知道如何将用户数据传递到浏览器,这样他就不必再次登录Magento网站。


$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://<my_domain>/rest/V1/integration/customer/token',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => array('username' => '<my_username>','password' => '<my_password>'),
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_SSL_VERIFYHOST => 2,
));

$token = curl_exec($curl);

echo ($token) . "<hr>";

$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => '<my_domain>/rest/V1/customers/me',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer ' . json_decode($token),
),
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_SSL_VERIFYHOST => 2,
));

$response2 = curl_exec($curl);

echo $response2;

您可以在cURL 中设置基本授权

$userName="用户名";$password="用户密码";

$this->卷曲->setCredentials($userName,$password(;

使用addCookie方法设置cURL Cookie:

$this->卷曲->addCookie("cookie名称"、"cookie值"(;

详细文档请参见:https://devdocs.magento.com/guides/v2.4/get-started/gs-curl.html#set-curl 中的基本授权

最新更新