2016-03-22 7 views
0

私は現在Ember 2.4.xアプリケーションで作業しており、ember-simple-authにはカスタムオーセンティケータとカスタムオーソライザを使用しています。認証が成功するEmberシンプル認証とクッキーヘッダー

、サーバは、現在のユーザープラスレスポンスヘッダでクッキーに関する情報を含むJSON本体で応答:

Response Headers: 
    Set-Cookie:Authorization=1s39gpzqy4d0w1quxekavz6yj1;Path=/ 

、私はそれぞれの連続したリクエストのために、必要な唯一のものは、ありますその同じクッキーを送り返す。 ember-simple-authでは、カスタムオーサライザに追加のヘッダーを設定するためにblockコールバックを使用できます。しかし、私は、それぞれのリクエストでまったく同じクッキーを再送する方法を見つけることができませんでした。

また、ヘッダーを設定していないので、Authoriserが必要なのかどうか、サーバはそのCookieだけを気にしているのでしょうか。

答えて

0

認証サーバーでCookieが発行された場合、ブラウザーは連続した要求ごとにCookieを自動的に送信するため、認証はまったく必要ありません。

+0

Authorizerのミックスインからいくつかのコードを抜き出して、サーバーが401を送信した場合にアプリケーションが自動的にルーティングするようにしていても、私は今すぐ認可者を取り除いています。残念ながら私はまだ不器用ですこのクッキーのことで。ブラウザまたはEmberがCookieをサーバーに返送していないようです。私は何かしなければならないことは何ですか? – makabde

0

私は最終的にこれが機能するように管理しました。私はまた、サーバーことが判明

makeRequest(data, options) { 
    let serverTokenEndpoint = get(this, 'serverTokenEndpoint'); 
    let requestOptions = $.extend({ 
    url:  serverTokenEndpoint, 
    type:  'POST', 
    // The contentType must be passed to Jetty as it will default to 
    // 'application/x-www-form-urlencoded' 
    contentType: 'application/json', 
    crossDomain: true, 
    dataType: 'json', 
    data, 
    xhrFields: { 
     withCredentials: true 
    }, 

    beforeSend(xhr, settings) { 
     xhr.setRequestHeader('Accept', settings.accepts.json); 
    } 
    }, options || {}); 

    return $.ajax(requestOptions); 
} 

:基本的に私は最初、その後that topic

の答えを、その後、私のカスタム認証に私はxhrFieldsプロパティを設定する必要がありましたどのmakeRequest方法を再使用していますAccess-Control-Allow-Credentials:trueResponse Headersに設定しなければなりません。そうでないとEmberはエラーを起こします。

関連する問題