2017-06-26 8 views
0

Trustpilotで認証用のviosのAxiosライブラリ(ヘッダー付きPOST)を使用していますが、ブラウザは事前の呼び出しを送信し、OPTIONメソッドが許可されていないためTrustpilot APIがエラーで応答します。Trustpilot APIのプレフライトが許可されていません

認証リクエストは単純なリクエスト(https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)ですが、Axiosはそれを単純なリクエストではなく、ブラウザが事前にリクエストしたものとみなします。この問題を解決する方法はありますか?

おかげ

+0

をあなたは何を送るつもりですか? "図に示すような"基本 "認証の場合、交換は安全であるためにHTTPS(TLS)接続を介して行わなければなりません。" – user7294900

+0

私のコードはこれです this.axios.request({ url: 'https://api.trustpilot.com/v1/oauth/oauth-business-users-for-applications/accesstoken'、 メソッド: 'POST ' データ:{ 'grant_type': 'パスワード' 'ユーザ名': '[email protected]' 'パスワード': 'XXXXXX' }、 ヘッダー:{ '許可':' 基本XXXXXXXXXXX」 'のContent-Type': 'アプリケーション/ x-www-form-urlencodedで' } }) –

+0

OPTION法)送信のために、これは(れる応答: のXMLHttpRequest HTTPSをロードできません。//api.trustpilot .co m/v1/oauth/oauth-business-users-for-applications/accesstokenを参照してください。プリフライト要求への応答がアクセス制御チェックを通過しない:要求されたリソースに「アクセス制御許可」がない。 –

答えて

1

あなたはtrustpilotのOAuthのエンドポイントへのブラウザの呼び出しを行うことはできません。あなたのapikeyと秘密のAuthorizationで構成されています。これをブラウザクライアントに公開することは脆弱です。

サーバーはAPIを呼び出すことができます。

ユーザがログインすることができますどこに、あなたのclient_idとhttps://authenticate.trustpilot.comにユーザーをリダイレクトしてURLをリダイレクトし、その後、サーバーをお持ちでない場合は

あなたはここで詳細を確認できます。https://developers.trustpilot.com/authentication#implicit

+0

私はcUrl呼び出しで認証をラップし、私のアプリの予約されたリンクから応答を返さなければならないと思います。たとえば、私は認証プロセスのために軽いAPIサーバーを作ります。 OKありがとう –

+0

まあ、まあまあ。この方法で、バックエンドで秘密を安全に保ちます。 –

関連する問題