#5、#46、およびオンラインでのほとんどの議論では、人々はデフォルトでCookieではなくローカルストレージ/セッションストレージをJWTに使用しているようです。 これには、アプリ全体でAJAXを使用して、ヘッダーを毎回Webストレージから設定できるようにする必要があります。 私の理解では、これはクロスサイトリクエストフォージェリを防ぐためです(そして本質的にこれを行うために同一生成元ポリシーを活用しています)。
一部のデバイスがJavaScriptをまったくサポートしないプログレッシブエンハンスメントとこれはどのように適合しますか?
_Another_ _GREAT _ _Wizard_からの質問! :+1:
このマイクロ例の目的のために、私はその「_Ok_」がlocalStorage
を使用すると思います。
正直に言うと、_everyone_は最近Reactを使用しており、アクセシビリティはまったく考慮されていません。
すべてのクールな子供たちは、_プログレッシブエンハンスメント_よりも_シャイニーニューフレームワーク_に_方法_興味があります...
しかし...
_actual_アプリでは、下位互換性とプログレッシブエンハンスメントのためにcookies
_ precisely_を使用しています。
そのため、JWT2にオプションを追加しました...参照: https :
結論として、このリポジトリの例にlocalStorage
を追加し、 comment
を追加して、JWTの保存にCookieを使用することは「_Ohkay_」であることを通知します。これは、すべての_水平スケーラビリティ_とセキュリティを引き続き取得できるためです。 JWTを設定/取得し、リクエストごとにヘッダーに追加する手間を省きながら、JWTを使用する利点...
@ rjmk & @ nelsonic
ローカルストレージに保存されているJWTSをヘッダーで送信する必要がある特定の理由がありますか、それともhttps://www.npmjs.com/package/node-localstorageの使用に関して脆弱/「間違っている」ものがあり
@Jbargetは、サーバー上のlocalStorage
にアクセスする必要がある「_Universal_」を構築していますか? それがあなたのユースケースであるなら、 node-localstorage
モジュールはあなたの目的を果たします。
_ただし_「AJAX」リクエストでJWTをサーバーに送り返すには、 header
JWTを_手動で_送信する必要があります...したがって、必要な場合は_module_を使用する利点はあまりありません。トークンをlocalStorage
との間で取得/設定します..。
@nelsonic明快さのおかげで、おそらく各リクエストのヘッダーに設定することになります!
@Jbarget JWTをCookieに保存することに対する
@nelsonic異議はありません。ローカル/セッションストレージではなく、アプリのどこからでもCookieにアクセスできるため、私の生活が簡素化されると思いますか?
Cookieがサーバーによって_set_されると、送受信される_all_リクエストには常にCookieが含まれるため、アプリが簡素化されます。 つまり、その時点以降、それについて_考える必要は_ありません_。
でJWTを格納対照的にlocalStorage
手段あなたは非アヤックスの相互作用を持つことができない、あなたはに覚えておく必要がSET
auth
サーバーに作る要求ごとにヘッダ.. 。
これはツールセットによって異なりますが、必ずしもそうとは限りません。 たとえばAngularを使用すると、これを1回設定できます..jqueryでも簡単に実行できると思います。
$.ajaxSetup({
headers: { 'x-my-custom-header': 'some value' }
});
トークンのトランスポート層としてのCookieのもう1つの問題は、2つのタイムアウトを使用していて、CORSの問題を回避するメリットが得られないことです。 Cookieは、RESTfulWebサービスへのアクセスを複雑にします。 クッキーにバンドルするよりも、トークンを使用してリソースにアクセスするためのカールワンライナーを作成する方がはるかに簡単です。
この問題は、1年以上経過しているため、自動的にクローズされます。 それでもプロジェクトに関連する場合は、お気軽に再開してください。
最も参考になるコメント
これはツールセットによって異なりますが、必ずしもそうとは限りません。 たとえばAngularを使用すると、これを1回設定できます..jqueryでも簡単に実行できると思います。
トークンのトランスポート層としてのCookieのもう1つの問題は、2つのタイムアウトを使用していて、CORSの問題を回避するメリットが得られないことです。 Cookieは、RESTfulWebサービスへのアクセスを複雑にします。 クッキーにバンドルするよりも、トークンを使用してリソースにアクセスするためのカールワンライナーを作成する方がはるかに簡単です。