2017-11-22 11 views
1

Djangoバックエンドを持つネイティブアプリからFetch(iosで)を使用してリクエストを行うと、ヘッダ認可トークンは受信されませんが、ヘッダーがあります。Djangoサーバがiosから認可トークンを受け取っていない - ネイティブの

nc -l 8090を使用して、アプリが正しくヘッダーを送信していたかどうかをチェックしていました。また、これはiOS版でのみ起こり、アンドロイド版はうまく動作します。 Djangoのバックエンドをチェックする時

、許可トークンが受信されていない

(私は私がauthentication.pyファイルで得たものを印刷し)私はここでフェッチコードを置く:

let response = fetch('http://xxx.xxx.x.xxx:8000/' + 'users', { 
     method: 'GET', 
     headers: { 
     'content-type': 'application/json', 
     'x-app-key': xxxxxxxxxx, 
     'Authorization': 'Token xxxxxxxxxxxxxxxxxxxx' 
     } 
    }).then((response) => {...} 

エラー応答に入っているというメッセージは "403 django standar not valid authentication"です。

私はOAuth2を使用していません。提供できるその他の情報は、私に知らせていただき、ありがとうございました。

私が気づいた変わったことは、ポート8000​​でnc cmd(lc -l 8000)を使用すると、同じ動作をするということです。承認トークンが受信されていません。

答えて

0

laravelフレームワークを使用してバックエンドでこの問題のバリエーションがありました。私は最終的に、パブリックフォルダの.htaccessファイルで以下を使用して解決しました。フェッチ中のURLから最後のスラッシュを失う私の場合はもう1つの重要な要因、との組み合わせ

# Handle Authorization Header 
RewriteCond %{HTTP:Authorization} ^(.*) 
RewriteRule^- [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 

これはどちらにも役立ちます。がんばろう。

関連する問題