私は角のアプリケーションを持っていると私は、彼らがサイトを離れて戻ってきたとき、彼らは自動的に自分のホームページにログインしているように、ブラウザにユーザーの資格情報を保存する機能を追加したいです。私はユーザー名とapitokenをクッキーとして保存することを考えています。そして誰かがホームページにアクセスするたびにそれらを取得します(存在する場合)。そしてそれらをサーバーに送り、ユーザーに自動的にログインします。しかし、私はこれを行うには良い方法ですか?これは安全ですか?そうでない場合、誰かがそれを行うためのよりよい方法を説明したり、私にそれを行う方法を読むためのいくつかのリソースを提供することができますか?ありがとう!角度アプリに自動署名できるようにユーザーデータを保存するにはどうすればよいですか?
答えて
あなたはコメントで述べたように、あなたは認証のために(JWTに似)APIトークンを使用しています。
- のlocalStorage
- Secure HTTP-only Cookie
のlocalStorageの利点があり、それは扱いやすいですし、あなたのアプリケーションができることを、:ローカルトークン(=セッション)を永続化することで、あなたは基本的に2つのオプションがあります常にJWTのペイロードにアクセスします。有効期限が切れたとき、またはどのルートにアクセス可能であるべきかを示す。問題は、LocalStorageがXSS(クロスサイトスクリプティング)攻撃に対して脆弱であることです。つまり、他の誰かがそのコンテンツにアクセスしてセッションを盗むことになります。
より安全な代替は、(設定フラグ安全でHttpOnlyの)HTTPのみクッキーです。これらのクッキーはJavaScript経由でアクセスできないため、XSS攻撃によって盗まれることはありません。欠点は明らかです:アプリケーションからトークンのコンテンツにアクセスすることはできません。一般的に
、あなたのAPIトークンは非常に短い時間のために有効にする必要があります。ユーザーにログイン状態を維持したい場合は、リフレッシュトークンを使用する必要があります。これらは長い期間有効で、ログインせずに新しいapiトークンを取得することができます。ここでの利点は、リフレッシュトークンがステートレスでなく、取り消すことができることです。最高のあなたに合ったソリューション
セキュリティ要件に依存します。
ありがとう、私はJWTソリューションのための私の古いapitokenソリューションを変更することにしました。私のapiトークンはHS512アルゴリズムで暗号化されています。とにかく4時間有効ですので、これは完全に安全だと思います。しかし、JWTがXSSなどの手段を使ってローカルストレージから取得されたというと、それが生成されたサーバの原点やそのデータをローカルストレージに保存したウェブサイトを見ることができるのだろうか、 JWT? – Dan
- 1. 角度アプリでメンテナンスページの自動更新を実装するにはどうすればよいですか?
- 2. キャプチャした画像をUWPアプリに自動保存するにはどうすればよいですか?
- 3. 自動テストレポーターログのテキストファイルバージョンを自動的に作成/保存するにはどうすればよいですか
- 4. 署名付きCordovaアプリでChromeデバッグを使用するにはどうすればよいですか?
- 5. このコードにユーザーデータ(共有設定)を保存するにはどうすればよいですか?
- 6. Googleストリートビューの回転角度を自動的に変更するにはどうすればよいですか?
- 7. 署名付きライブラリによるブート遅延を回避するにはどうすればよいですか?
- 8. iOSアプリケーション用の自己署名付きipaを作成するにはどうすればよいですか?
- 9. 角度マテリアルモーダルダイアログの結果を保存するにはどうすればよいですか?
- 10. 自動入力フィールドをテーブルに保存するにはどうすればよいですか?
- 11. YouTubeの動画のリンクを自分のページに保存するにはどうすればよいですか?
- 12. AndroidネイティブCでAPK署名署名を取得するにはどうすればよいですか?
- 13. 角度アプリにインポートするフォルダを変更するにはどうすればよいですか?
- 14. 自動生成されたファイルの変更を保存するにはどうすればよいですか?
- 15. Androidアプリをきれいに見えるようにするにはどうすればよいですか?
- 16. Sonarにソースコードをデータベースに保存しないようにするにはどうすればよいですか?
- 17. Axis2 Javaクライアントで自己署名証明書を使用するにはどうすればよいですか?
- 18. イメージをカメラロールに保存するにはどうすればよいですか?
- 19. データをSilverlightに保存するにはどうすればよいですか?
- 20. ファイルをfastcoloredtextboxに保存するにはどうすればよいですか?
- 21. オブジェクトをグローバルに保存するにはどうすればよいですか?
- 22. イメージをレルムデータベースに保存するにはどうすればよいですか?
- 23. レーティングをソングに保存するにはどうすればよいですか?
- 24. スタティックデータをLaravelに保存するにはどうすればよいですか?
- 25. iPhoneにplistを保存するにはどうすればよいですか?
- 26. JSONをレディスに保存するにはどうすればよいですか?
- 27. データベースにデータを保存するにはどうすればよいですか?
- 28. Androidにデータを保存するにはどうすればよいですか?
- 29. キャンバスをイメージオブジェクトに保存するにはどうすればよいですか?
- 30. UIImageをファイルに保存するにはどうすればよいですか?
'JWT'を使用し、' localStorage'にトークンを格納することができます:http://jasonwatmore.com/post/2016/08/16/angular-2-jwt-authentication-example-tutorial –
ありがとう、私は持っていますリンクを見て、私は既にJWTの例に似て、APIトークンで認証手順を使用しているので、localStorageについてもっと興味があります。 localStorageにユーザー名とAPIトークンを格納するのは安全ですか?別のアプリケーションがこれらのデータポイントを取得できるようです。 – Dan
私は 'JWT'トークンが、彼らはあなたがバックend''で –