私は一日中答えを探していて、助けてくれたものは何も見つかりませんでした。レスキューアプリケーションでrails APIを使ってセキュリティを管理するにはどうすればよいですか?
私は現在、ReactとRails APIで開発されたプラットフォームで作業しています。 My Rails APIは、devise-tokenを使用してセキュリティと認証を処理しています(https://github.com/lynndylanhurley/devise_token_auth)。 私はReact-Reduxを使用していません。
リアクションフロントエンドには、公開ページ(ログインなど)とプライベートページがあり、ログインが必要です(有効なアクセストークン)。
私はセッションストレージにこれらの3つのパラメータ(ログイン応答から来る)をアクセストークン、uidとクライアントを保存しています、そして、アクセストークンは各要求のヘッダーで送られます。ユーザーがログインしている
- たら、セッションストレージでもjavascriptオブジェクトで応答を格納します。これは私が考えていたものです
。そのオブジェクトは、ユーザーがページをリフレッシュしたり、ページを閉じて再オープンしたりしない限りそこにあります。
- ユーザーがプライベートページに移動するたびに、反応ルータがコンポーネントを返す前に、私のLoggedInUser javascriptオブジェクトに何かがあるかどうかチェックします。何もない場合は、セッション記憶領域のコンテンツを持つ「validate_token」エンドポイントを呼び出します。なぜなら、それは戻りユーザーだからです。有効な場合は、 "LoggedInUser"というjavascriptオブジェクトに保存します。そうでない場合は、ログインページにリダイレクトしてください。
- LoggedInUserオブジェクトまたはセッションストレージに何も持っていない場合、私はログインにリダイレクトします。
私の質問は以下のとおりです。
- 我々は常にJavaScriptの変数とAJAXコール(クライアント側)について話している場合、私は、私のプライベートページを安全にする方法は?権限のないユーザーがjavascriptファイルをデバッグし、 "LoggedInUser"オブジェクトにコンテンツを作成し、自分のプライベートページを見ることができます。無効なトークンを含むすべてのリクエストは401を返しますが、HTMLや静的ファイル、およびAPIへの既存のリクエストは引き続き表示されるため、ユーザーはコンテンツを見ることができません。
ありがとうございました!すべてのpkgにあっバンドルされている場合は