Rails API : 認証を実装するのに最適な方法とは?
2023-08-08 07:06:45
質問内容
まだ開発されていないモバイルアプリのAPIを公開するRails 4アプリを書いています。ユーザーは、モバイル アプリから電子メールとパスワードを使用して認証します。
このトピックに関するかなりの量の情報が見つかりましたが、何が重要なのかを見極めるのは困難です。何が古く、何が最適でないかを見分けるのは困難です。HTTP Basic Auth について読みましたが、これはあまり安全ではないように思えますし、HTTP Token-based Auth については、通常の電子メールおよびパスワード認証 (ちなみに私は Devise を使用しています) とどのように組み合わせたらよいかわかりません。
これを実装する方法について、現在のベストプラクティスを知りたいだけです。
どのように解決するのですか?
セキュリティの観点から重要なのは、ユーザーのメールアドレスとパスワードを一度トークンに交換し、その後のリクエストにはそのトークンを使用することです。ということです。
- バグや攻撃によってユーザーのパスワードが流出する可能性があるため、クライアント アプリにユーザーのパスワードを保持する責任を負わせたくない。
- サーバーが発行するトークンでは、必要に応じてトークンを失効させることができます。たとえば、盗難にあったデバイスをロックアウトしたり、不正な動作をする API クライアントをブロックしたりすることができます。
これを実現する方法はたくさんあり、複雑さのレベルもさまざまです。
これは非常に新しいチュートリアルで、Railsでトークンベースの認証を使用してAPIを作成するための徹底的なウォークスルーがあります (Devise は使用していませんが、コンセプトを理解するためにはまだ適切です)。 https://labs.kollegorna.se/blog/2015/04/build-an-api-now/
関連
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み】TypeError: SymbolからIntegerへの暗黙の変換がない。
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み] Rubyで変数をインクリメントする [重複]。
-
[解決済み] Ruby on Railsのためにnetbeansを構成する方法は?
-
[解決済み] bundle install --without production は何をするのですか?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] エラーが発生しました。pgsqlをrailsで動作させようとすると、Peer authentication failed for user "postgres" と表示されます。
-
[解決済み] Rails 4で懸念事項を使用する方法
-
[解決済み】Railsの認証トークンを理解する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Bundler: コマンドが見つからない
-
[解決済み】ActionController::InvalidAuthenticityTokenについて
-
[解決済み] どのようにrailsでラジオボタンを正しく使用するには?
-
[解決済み] 該当するルートがない [GET] "demo/hello"
-
[解決済み] Railsでpng画像を文字列形式で表示するには?
-
[解決済み] Ruby on Railsでsimple_formを使うさまざまな方法|何が違うの?
-
[解決済み] rails erb フォームヘルパー options_for_select :selected
-
[解決済み] nil:NilClass の未定義メソッド `each' - しかし、なぜ?
-
[解決済み] nil:NilClass の未定義メソッド `each'... なぜ?
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。