私はExpressアプリケーションのセットアップをしており、トークンの保管に関するアドバイスが必要です。ノードエクスプレス - 認証トークンの保存と取得
ユーザーアカウントを認証した後、OAuth 2サーバーからアクセストークンを受け取りました。このトークンは、その後のAPIリクエストに使用する必要があります。
私はクライアントからトークンの値を隠したいと思っています。これを行う方法の1つは、トークンを暗号化されたクッキーに保存することだと思いますので、さらにリクエストするとミドルウェアとクッキーは、サーバ側に保存されたトークンの検索に使用され、その後、実際のAPIエンドポイントへの進行中のリクエストのヘッダ値として使用されます。
誰かが実際に既にこの質問をしています - How to store an auth token in an Angular appこれは私のアプリケーションではうまく動作していますが、アンサーサービスを使用することについての答えがありますが、私はこれをやりたいとは確信していません。クライアント側のコードがトークンについて知る必要がないように、すべてExpressで処理することができます.APIサーバーが返すエラーだけです。
だから私は、私は必要だと思うの流れの概要:
- ユーザーが2サーバーが返すトークン
- トークンは、どこかにエクスプレスで保存された種類 のIDをキーとされるにアクセス、ログイン資格情報
- のOAuthを提出
- クッキーが生成され、クライアントに応答して返送されます。 Cookieにはおそらくトークン値がエンコードされていますかあるいは、Expressミドルウェアコンポーネントに格納されているトークン値のIDですか?
- クライアントは、Expressルートミドルウェアがピックアップするapi要求を行います。
- Expressはクッキーの存在をチェックし、トークン値をデコードするか、何らかの方法でストレージ機構サーバー側から取得します。急行と、最終的なAPIエンドポイント
間のヘッダは、このちょっとの事を扱うことそこにすでにミドルウェアは、おそらくありますよう
私は確かにエクスプレスでトークンの値を保存する必要があるので、何らかの形式の記憶装置(メモリにはないと思います)。
私はかなり新しくExpressですので、これにアプローチする方法についてのアドバイスやアドバイスをいただければ幸いです。これを行うには
おかげ
Oauth2サーバーからトークンを受け取ると、ユーザー側で保存できます。 cookieまたはlocalstorage HTML 5を使用することができます。 – trquoccuong
クッキーのアプローチは私が考えているとおりですが、トークンの値をクライアントにエンコードする必要があります。最後の終点。 – mindparse