Authorizationヘッダートークンがブラウザに表示されないのはなぜですか

パンパニッケル:

ログインシステムを作りたい。このチュートリアルで作成したセキュリティ用のJWTトークンを備えたSpring Boot APIがあります。私のフロントエンドでは、リクエストにReact JSとAxiosを使用しています。

これは私のaxios設定です:

import axios from 'axios';

const api = axios.create({
    baseURL:'http://localhost:8080',
    headers: {'Access-Control-Allow-Origin': '*'}
});

export default api;

そして、これはログイン関数です:

loginClickHandler = () => {
        const data = {
            "username":this.state.username,
            "password":this.state.password
        };
        api.post("/login",data)
            .then(response => {
                console.log(response);
                if(response.data !== null) {
                    this.setState({
                        loggedIn:true,
                        userData:response.data
                    });
                }else{
                    this.showMessage(2,response.data.error)
                }
            })
            .catch(error => {
                this.showMessage(2,error);
            });
    };

ログイン機能自体と他のすべては正常に動作しますが、ブラウザに認証トークンがヘッダーとして表示されません。これはconsole.log(response)(ヘッダーのみ)です。

headers:
cache-control: "no-cache, no-store, max-age=0, must-revalidate"
content-length: "0"
expires: "0"
pragma: "no-cache"

しかし、リクエストにPostmanを使用すると、14のヘッダーが返され、そのうちの1つは、期待どおりにトークンが含まれているAuthorizationヘッダーです。

私の質問は、ヘッダーをブラウザに表示して、後のリクエストのために保存できるようにする方法です。

ありがとうございました

編集:

承認ヘッダーがブラウザーの[ネットワーク]タブに表示されますが、応答には表示されません。

解決:

私のJWTAuthenticationFilter successfulAuthenticationメソッドにこの行を追加する必要がありました

res.addHeader("Access-Control-Expose-Headers",HEADER_STRING);

@Jack Chenと@Sarthak Aggarwalが示唆したように

Sarthak Aggarwal:

The Access-Control-Expose-Headersブラウザーがアクセスを許可されたサーバーのホワイトリストヘッダーを許可するため、サーバーにヘッダーセットを設定する必要がある場合があります。`

構文:

Access-Control-Expose-Headers: <header-name>[, <header-name>]*

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

テンプレートがブラウザに表示されないのはなぜですか?

分類Dev

OPTIONSルートにCORSヘッダーを追加すると、ブラウザーがAPIにアクセスできないのはなぜですか?

分類Dev

OPTIONSルートにCORSヘッダーを追加すると、ブラウザーがAPIにアクセスできないのはなぜですか?

分類Dev

OPTIONSルートにCORSヘッダーを追加すると、ブラウザーがAPIにアクセスできないのはなぜですか?

分類Dev

ランダムな画像がブラウザに表示されないのはなぜですか?

分類Dev

グリッドビューがブラウザに表示されないのはなぜですか?

分類Dev

JTableヘッダーが画像に表示されないのはなぜですか?

分類Dev

ファイル名に「.xml」サフィックスがない場合、Chromeがブラウザに表示するのではなく、ローカルホスト上のgatsbyから提供されたxmlファイルをダウンロード/保存しようとするのはなぜですか?

分類Dev

テキストがヘッダーの下に表示されないのはなぜですか?

分類Dev

Linuxで単純なpuppeteerスクリプトを実行すると、この「ブラウザがダウンロードされません」というエラーが表示されるのはなぜですか?

分類Dev

ブートストラップ ナビゲーション バーにアクティブなボタンが表示されないのはなぜですか?

分類Dev

ChromeでHTTPヘッダーが表示されないのはなぜですか?

分類Dev

画像がブラウザに表示されないのはなぜですか?

分類Dev

このノックアウトオブザーバブルが更新されないのはなぜですか?

分類Dev

ブラウザがCache-Controlヘッダーを尊重しないのはなぜですか?

分類Dev

モーダルが表示されないのはなぜですか?ブートストラップ4

分類Dev

特定のブラウザでページの上部に表示され、他のブラウザでは表示されないヘッダーを修正するにはどうすればよいですか?

分類Dev

ドロップダウンメニューがホバーに表示されないのはなぜですか?

分類Dev

私のロゴがすべてのブラウザに表示されているのに、印刷ビューには表示されないのはなぜですか

分類Dev

マウス クリック時にカラー ボールが表示されないのはなぜですか?

分類Dev

ブラウザウィンドウが最大化されていない場合にのみクリック可能なWebサイトヘッダー

分類Dev

Canvasがブートストラップテーブルに表示されないのはなぜですか?

分類Dev

django-adminバックエンドでマークダウンウィジェットがdjango-markdownで表示されないのはなぜですか?

分類Dev

検索クエリテーブルにBeautifulSoup(Python)のデータではなく、テーブルヘッダーが表示されるのはなぜですか?

分類Dev

ドロップダウンにデータが表示されないのはなぜですか

分類Dev

バックグラウンドサービス(System.Timerを使用)にトースト通知が表示されないのはなぜですか?

分類Dev

Bootstrap 4カードヘッダーが期待どおりに表示されないのはなぜですか?

分類Dev

ブートストラップ4:スクロール可能なドロップダウン内のポップオーバーが表示されないのはなぜですか?

分類Dev

JavaScriptコードで「Post-Control-Allow-Origin」ヘッダーがリクエストされたリソースに存在しないというエラーがPostmanに表示されないのはなぜですか?

Related 関連記事

  1. 1

    テンプレートがブラウザに表示されないのはなぜですか?

  2. 2

    OPTIONSルートにCORSヘッダーを追加すると、ブラウザーがAPIにアクセスできないのはなぜですか?

  3. 3

    OPTIONSルートにCORSヘッダーを追加すると、ブラウザーがAPIにアクセスできないのはなぜですか?

  4. 4

    OPTIONSルートにCORSヘッダーを追加すると、ブラウザーがAPIにアクセスできないのはなぜですか?

  5. 5

    ランダムな画像がブラウザに表示されないのはなぜですか?

  6. 6

    グリッドビューがブラウザに表示されないのはなぜですか?

  7. 7

    JTableヘッダーが画像に表示されないのはなぜですか?

  8. 8

    ファイル名に「.xml」サフィックスがない場合、Chromeがブラウザに表示するのではなく、ローカルホスト上のgatsbyから提供されたxmlファイルをダウンロード/保存しようとするのはなぜですか?

  9. 9

    テキストがヘッダーの下に表示されないのはなぜですか?

  10. 10

    Linuxで単純なpuppeteerスクリプトを実行すると、この「ブラウザがダウンロードされません」というエラーが表示されるのはなぜですか?

  11. 11

    ブートストラップ ナビゲーション バーにアクティブなボタンが表示されないのはなぜですか?

  12. 12

    ChromeでHTTPヘッダーが表示されないのはなぜですか?

  13. 13

    画像がブラウザに表示されないのはなぜですか?

  14. 14

    このノックアウトオブザーバブルが更新されないのはなぜですか?

  15. 15

    ブラウザがCache-Controlヘッダーを尊重しないのはなぜですか?

  16. 16

    モーダルが表示されないのはなぜですか?ブートストラップ4

  17. 17

    特定のブラウザでページの上部に表示され、他のブラウザでは表示されないヘッダーを修正するにはどうすればよいですか?

  18. 18

    ドロップダウンメニューがホバーに表示されないのはなぜですか?

  19. 19

    私のロゴがすべてのブラウザに表示されているのに、印刷ビューには表示されないのはなぜですか

  20. 20

    マウス クリック時にカラー ボールが表示されないのはなぜですか?

  21. 21

    ブラウザウィンドウが最大化されていない場合にのみクリック可能なWebサイトヘッダー

  22. 22

    Canvasがブートストラップテーブルに表示されないのはなぜですか?

  23. 23

    django-adminバックエンドでマークダウンウィジェットがdjango-markdownで表示されないのはなぜですか?

  24. 24

    検索クエリテーブルにBeautifulSoup(Python)のデータではなく、テーブルヘッダーが表示されるのはなぜですか?

  25. 25

    ドロップダウンにデータが表示されないのはなぜですか

  26. 26

    バックグラウンドサービス(System.Timerを使用)にトースト通知が表示されないのはなぜですか?

  27. 27

    Bootstrap 4カードヘッダーが期待どおりに表示されないのはなぜですか?

  28. 28

    ブートストラップ4:スクロール可能なドロップダウン内のポップオーバーが表示されないのはなぜですか?

  29. 29

    JavaScriptコードで「Post-Control-Allow-Origin」ヘッダーがリクエストされたリソースに存在しないというエラーがPostmanに表示されないのはなぜですか?

ホットタグ

アーカイブ