2017-08-02 8 views
0

私の目標は、訪問者がクリックしてリダイレクトし、基本認証でサイトにログインするリンクを作成することです。現在、私たちがホストしていないいくつかのWebページ(but embedded credentials are no longer supported in Chrome)で埋め込み資格情報を使用しています。私は、URL(すなわちhttps://user:[email protected])に資格情報を渡すに代替案を検討してきた、これまでよりはましだ解決策を見つけていない、次サードパーティのサイトにリンクするためのChromeに埋め込まれた認証情報の代わり

XMLHttpRequest cannot load https://www.third-party-website.com . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://my-website.com ' is therefore not allowed access.

:私は次のエラーを与える

var url = 'https://www.third-party-website.com'; 
var username = 'my-username'; 
var password = 'my-password'; 
var encodedAuth = window.btoa(username + ':' + password); 

$.ajax({ 
    type: 'GET', 
    url: url, 
    xhrFields: { 
    withCredentials: true, 
    }, 
    headers: { 
    "Authorization": "Basic " + encodedAuth 
    }, 
    complete: function (result) { 
    window.location.href = url; 
    }, 
    error: function (req, status, error) { 
    console.log(error); 
    } 
}); 

Based on this SO threadのように、第三者のサーバーにアクセスして、自分のドメインを許可するようにAccess-Control-Allow-Originを設定する必要があると思います。サードパーティのサーバーのヘッダーを変更できない場合は、他にも何か選択肢がありますか?または、私のAJAXリクエストが正しくフォーマットされていないのですか?

+0

にこのようなものを使用して、プロキシにユーザ名+パスワードを投稿して正しく構成されています。プロキシを使用して必要なものを守ることができるかもしれません。他のサイトのCookieは問題あります – charlietfl

答えて

0

あなたがあなたのアヤックスがあるプロキシ としてあなた自身のウェブサイト上のセットアップにページをしたいとJS Link

$usr = $_POST['username']; 
$pwd = $_POST['password']; 

How to setup curl with auth

関連する問題