2016-09-02 7 views
0

私はhttps://github.com/bigcommerce/hello-world-app-php-silexを開発用Bigcommerce APPに使用しました。Bigcommerce APIから "signed payload"を見つけるには

「私のドラフトアプリ」からAPPをインストールして起動すると、それ以降は他のドメインにリダイレクトされます。

ただし、GETリクエストには「署名付きペイロード」は含まれていません。だから、 "Invalid signed_pa​​yload"というエラーが出る。 (GETリクエストにコード、コンテキスト、およびスコープが含まれています)

"署名付きペイロード"はどのようにして見つけることができますか? GET Requestに "signed payload"を追加する方法は?

答えて

0

お店にアプリをインストールする場合は、適切なGETリクエストパラメータが届きます。 signed_payloadは、oAuth APIトークンを生成してアプリが正しくインストールされるまで表示されるものではありません。

最初に店にアプリをインストールすると、codecontext、およびscopeを含む「認証コールバックリクエスト」が送信されます。これらの3つの値、および既に持っている4つの値を使用して、BC Authサービス(https://login.bigcommerce.com/oauth2/token)にPOSTリクエストを行い、APIトークンを生成できます。それが正常に完了すると、あなたのアプリは今インストールされています。ここでは店舗用のOAuth APIトークンを生成するために、詳細に「認証コールバック要求」パラメータとPOSTリクエストの詳細をカバーBCのドキュメントは、次のとおりです。

https://developer.bigcommerce.com/api/callback

インストールした後に正常に完了し、そしてあなた一度されましたコントロールパネルのページが更新されたら、あなたのアプリは "Apps"メニューのアイコンとして表示されます。その時点で、あなたのアプリをクリックするとこのページに記載されているように、signed_payloadクエリパラメータが含まれているものです「ロードコールバック要求」を生成します。

https://developer.bigcommerce.com/api/load

だから、あなたが適切な認証を入力していないことが表示されますそのPHP Silexサンプルアプリケーションの指示に記載されているように、アプリケーション設定にコールバックURLを追加します。彼らはあなたが "認証コールバックURL"としてデフォルトでhttp://localhost:8000/auth/callbackを使用するべきだと述べています。代わりにhttp://localhost:8000/loadを「認証コールバックURL」として使用していた場合は、表示されているエラーが発生します。

デフォルトの例を使用していて、単純なHTTPのみを使用していても、「コールバックのロード」アプリケーションパスに認証コールバック要求を受け取ることができる場合は、上記のことになります。通常は、AuthとLoadコールバックがまったく動作するには、完全なHTTPSパスが必要です。

私はこれが役立つことを望みます。さらに助けが必要な場合は、セットアップに関する詳細を追加してください。たとえば、BCアプリケーションの設定で「認証コールバックURL」として設定したものは何ですか?そして、デフォルトのPHP Silexコードを変更しましたか?

+0

返信いただきありがとうございます。 何か問題が発生しました... [400] {"error": "redirect_uri_mismatch"、 "error_description": "パラメータredirect_uriが登録されたURIと一致しません"} – Gunjan

+0

このエラーは、あなたのPOSTでredirect_uri値が送信されています。これは手動で設定した環境値なので、入力するリダイレクトURIがアプリの設定と同じであることを確認する必要があります。 この行には 'redirect_uri'がどこに設定されているのかがわかります - (https://github.com/bigcommerce/hello-world-app-php-silex/blob/master/index.php#L33)。これは - (https:// github。)と呼ばれる関数です。com/bigcommerce/hello-world-app-php-silex/blob/master/index.php#L91-L95)を参照してください。 'BC_CALLBACK_URL'環境変数の値はどれくらいですか? –

+0

私は 'REDIRECT_URI' 'REDIRECT_URI' =>設定私のアプリに設定し、手動で設定していたClient.phpライン430に 「CredisException: "のhttp:// localhost /をbcapp1 /" を、 は今、私はエラーの下に取得します:エラー1回後にRedisへの接続に失敗しました。最後のエラー:(10061)ターゲットマシンが積極的に拒否したため、接続できませんでした。 – Gunjan

関連する問題