docker compose run web rails g sorcery:installを実行すると、以下のものが生成されます!

  1. マイグレーションファイル
  2. 初期設定ファイル

これらがベースとなり、ユーザー認証機能を実装するための準備が整います!

つまり…!!

config/initializers/sorcery.rbという初期設定ファイルがアプリ内にあることで、sorceryのルールに基づいたユーザー登録およびログイン機能の実装が可能ということです!!

プロジェクトによってここは記載する内容が変わります。

基本的にユーザー登録機能とログイン機能には名前の情報は必要なので

その情報入れる!

<例>

class SorceryCore < ActiveRecord::Migration[7.0]
  def change
    create_table :users do |t|
      t.string :last_name,        null: false
      t.string :first_name,       null: false
      t.string :email,            null: false, index: { unique: true }
      t.string :crypted_password
      t.string :salt

      t.timestamps                null: false
    end
  end
end

<point> パスワードはそのまま保存しません!

このようにする目的

この仕組みは、パスワードのハッシュ化をさらに安全にするためにあります。具体的には、ユーザーごとに生成されるランダムな文字列をパスワードに追加してからハッシュ化することで、同じパスワードでも異なるハッシュ値が得られるようにすることができる