私は実装を次ていますAngular 4アプリにトークンを渡すうまい方法は何でしょうか?
フロントエンド:localhostを:4200(これは角アプリです)
バックエンド:localhostを:3000(これはNode.jsの& Expressで実行している私のREST APIです)
- ユーザーが自分のREST APに彼をリダイレクトするリンクをクリックした角度アプリで
ステップ1. I(localhost:3000/auth/steam)。
ステップ2.私のREST APIは、彼がログインするOpenIDプロバイダ(スチーム)に彼をリダイレクトします。ログインが成功で
ステップ3. OpenIDプロバイダが一緒に戻って私のバックエンドサーバーにユーザーをリダイレクトしますユーザデータと比較する。私のバックエンドサーバーはこのデータをDBに保存し、ユーザーデータを含むJWT(JSON Webトークン)を作成します。トークンと一緒にフロントエンドにユーザーをリダイレクト
ステップ4 ...
これは私が実際にこれを行うにはエレガントな方法がどうなるか分からない部分です。トークンをURLパラメータ(?token = ...)として渡すことを考えましたが、トークンがURLに表示されるため、これは少し危険です。
もっと良い方法がありますか?ありがとう:)
ストアローカルストレージ内のトークン: また、このモジュールは、次の方法で –
pixelbits
Interceptor
機能を提供します。ヘッダーにJWTトークンを送信します。許可:ベアラーこれは私の最初のアプローチでしたが、node.js/expressのリダイレクトの前にヘッダーを設定する方法に関するリソースが見つかりません。 –
authヘッダーは、IdP(URLのPOST)から戻ってくる要求で既に設定されています。あなたの角型アプリは単にそれを読んで保存する必要があります。それ以降のリクエストはすべてヘッダーに追加します。 – pixelbits