2017-11-08 5 views
0

APIサービスとしてDRFを使用してIonic 2のアプリケーションに取り組んでいます。認証目的のために私はJWTを使用しています。私はAuthorization: jwt [token]のような各要求で認証トークンを送信しています。郵便配達では、APIは正常に動作しています。飛行前のリクエストでトークンが送信されないIonic2

ブラウザでテストしているときに動作していないため、JWT認証トークンがプレフライトとしてOPTIONSリクエストで送信されていないため、動作していない可能性があります。だから私はこの問題にどのように取り組んでいますか?

答えて

0

を参照してください問題はOPTIONS APIトークンので、我々はOPTIONSためreadonly認証レベルを追加し、APIをGET認証なしに読めないということでした。

0

CORSプリフライトOPTIONSの応答では、原点通過許容ヘッダーは要求と一致する必要があります。

イオンの最新バージョンでは
Cross-Origin-Allow-Headers: Authorization 
0

あなたがionic serve commnadを使用している場合、あなたはプリフライトとCORSの問題を防ぐためにプロキシを使用している必要があり、

まず

{ 
    "name": "APP-NAME", 
    "app_id": "", 
    "proxies": [ 
    { 
     "path": "/api", 
     "proxyUrl": "http://example.com/api" 
    } 
    ] 
} 
よう ionic.config.jsonファイルにAPIのパスとURLを追加

httpからAPIを呼び出す際に、http://example.com/apiの代わりに/apiのURLを使用します。

.... 
    this.http.post('/api', data, {headers:headers}).map(res=>res.json()).subscribe(data=>{ 
     console.log(data) 
    }, err=>{ 
     console.log("Error!:", err.json()); 
    }); 
.... 

上記の変更を加えたら、コマンドionic serveを再実行する必要があります。

はまだ、あなたが問題を取得している場合、実際にHandling CORS Issues In Ionichttps://ionicframework.com/docs/cli/configuring.html

関連する問題