0

私はPrestashopの開発を勉強しています。そして、私はreact.js(React Nativeをより正確にするために)を使って "第3の部分"のサイドアプリケーションを作成し、prestashopのwebserviceでJsonデータをキャッチしようとしています。しかし、私は "顧客"が自分のアカウントと自分のアカウントだけでログインできるようにしたい。 CRUDもあります。キーの代わりにクライアント(顧客)ログインによってPrestashopのWebサービスにアクセスできますか?

を事前に入力してください。あなたの忍耐と注意を非常にありがとう。

よろしくお願いいたします。

ミシェル・ディズ

+0

そして、私はこれを見つけた(しかし、十分ではありません)http://stackoverflow.com/questions/28724731/how-to-integrate-prestashop-with-android/28925554?newreg=e51eb8f5ed03430f80392eef2a983df0 –

+0

あなたが持っているものを私たちに示してください。これまでに試みた。スタックオーバーフローはコード作成サービスではありませんが、少なくともあなた自身で問題を解決しようとすると、人々はあなたを助けてくれるでしょう。 [最小限で完全で検証可能なサンプルを作成する方法](http://stackoverflow.com/help/mcve)と[よく質問する方法](http://stackoverflow.com/help/)も参照してください。どのように聞く?) – sarcom

+0

実際は単なる質問です。私はコードを私に求めているわけではない。私はそれが可能かどうか、誰かが私が情報をどこで見つけるか知っているかどうかを尋ねています。しかし、誰かがそれをキャッチするかどうかを見るために、論理的なコードの議論を整理します。 よろしくお願いいたします。 –

答えて

0

PrestaShopののバックオフィスでのログインは、Webサービスへのアクセス権を与えません。 Webサービスを有効にしてキーを生成する必要があります。だから、私はあなたの "ログイン"方法を変更することをお勧めします。顧客アカウントはWebサービスとは無関係で、WebサービスはPrestashop(FrontofficeよりもBackofficeのような)に保存されたデータにのみアクセスするために使用されます。

正確に何をする必要がありますか?

私はそれがあなたを助けてくれることを願っています。

+0

私は親切に知っていました。 Firebase Authで何か試してみるつもりです。 React Nativeで作成した現在のテストアプリを統合する前に、そして、PrestashopのWebサービスで生成されたJsonのすべてを消費します。 –

+0

私のテストアプリケーションの中で、私はコード内で一連のアクションを行うことを考えていました。生成されたキーを持つ最初のWebサービスを使用して、いくつかの内部認証確認によってパスした後にユーザーをフィルタリングします。しかし今、私はFirebase認証を試したいと思っています。 –

+0

すべてのPrestashop API docここをクリックしてください:http://doc.prestashop.com/display/PS16/Using+the+PrestaShop+Web+Service – PixelWeb

0

まだソリューションを探しているのですが、実際には方法があるかどうかはわかりません。

安全なログイン情報であることを確認してください。

すべてのプレスタッシュデータにアクセスできるので、ログインが非常に安全であることを確認してください。私はPHPでそれを作り直すことができました。あなたはそれをあなたが望むように再現することができると思います。ガイドラインとして参照してください。 > parameters.php ::「cookie_key」 - アプリ/ configの中で定義された顧客テーブルにWebサービス経由三つ

アクセス COOKIE_KEYを、必要がありますPrestaShopののWebサービスを使用してログインシステムを作成するには

=> '12321テスト'; PHPでいくつかの公開 まず、webserviceから得意先テーブルを取得します。

// 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); 
    } 
} 

を確認することです。

希望すると便利です。

+0

ありがとうございました。その間、スタックを完全に変更したので、私はあなたのアプローチをテストできません。しかし、私はすぐに再テストすることができます。 誰かがあなたのコードを受け取り続けている場合。肯定的な結果を出すことで、私はあなたの回答を解決策としてマークします。 少し後でこの質問をしましたが、小さなノードGraphQL APIを作ることができました。このAPIは、前のページのデータベースをsequelizeで直接 "ブリッジ"として使いました。しかし、別のプロジェクトに取り組む必要があったので、私はやめなければなりませんでした。 これを見ると、良いアプローチであるように思えます。とにかくありがとうございます。 乾杯 –

関連する問題