0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Rails初学者】初学者が知りました「ざっくり学んだログインの仕組み。SessionやCookieについて」

Last updated at Posted at 2025-05-14

初学者が知った「ざっくり学んだログインの仕組み。SessionやCookieについて」

こんにちは。
Railsでアプリ開発を始めたばかりの初学者です。
最近やっと「ログインってどう動いてるのだろうか」という仕組みを少しずつ理解してきたので、
自分用のメモもかねて、記載しました。


そもそも「ログイン」って何だろか?

ユーザーが「自分はこの人です」とサーバーに伝えて、
サーバーが「あ、あなたですね!OK」と認めること。


ログイン処理って実際どうなってるのか

1. フォームに入力する

例えば

2. サーバー側でユーザーを探す

user = User.find_by(email: params[:email])

3. パスワードが一致するか確認

user.valid_password?(params[:password])
  • パスワードはハッシュ化される(元に戻せない)

CookieとSessionのざっくり理解

Cookie(クッキー)とは?

ブラウザに保存される小さなデータである

  • サーバーが「この人の情報を記録」とブラウザに渡す
  • 次回以降、ブラウザが自動でそのメモ(クッキー)を送ってくれる

CookieとSessionの関係

  • サーバーがユーザーを認証したら、セッションに情報を保存
  • そのセッションIDを暗号化してクッキーに保存
  • 次のアクセスでクッキーを見て、「この人はログイン中のあの人だ」と判断できる

クッキーが残っている限りは、ログイン状態も続く

以下の場合は

  • クッキーが消えるとログアウトされる
  • 有効期限が切れてもログアウトされる
  • サーバー側がセッションを破棄してもログアウトされる

パスワードをそのまま保存しない理由

もしそのまま保存してたら、データベースが盗まれたとき大惨事になるため

学び

  • ログインは「名乗る → 確認される → 認められる」
  • Cookieはブラウザのメモ帳、Sessionはサーバーのメモ帳という感じ
  • パスワードは絶対にそのまま保存しないこと
  • クッキーがあるから、ログイン状態が維持される

まだまだ勉強中ですが、ざっくり理解したことをまとめました。
間違ってたらすみません。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?