docker compose run web bundle install
)を実行してコンテナに入ってからbundle installを行うときもあるよ!docker compose run web rails g sorcery:install
を実行して、sorceryをインストールする!※docker compose run web rails g sorcery:install
を実行すると、以下のものが生成されます!
config/initializers/sorcery.rb
という初期設定ファイル。この中でSorceryの設定を行う。これらがベースとなり、ユーザー認証機能を実装するための準備が整います!
つまり…!!
config/initializers/sorcery.rbという初期設定ファイルがアプリ内にあることで、sorceryのルールに基づいたユーザー登録およびログイン機能の実装が可能ということです!!
docker compose run web rails g sorcery:install
で生成されたマイグレーションファイルを編集します!プロジェクトによってここは記載する内容が変わります。
基本的にユーザー登録機能とログイン機能には名前の情報は必要なので
その情報入れる!
<例>
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> パスワードはそのまま保存しません!
このようにする目的
この仕組みは、パスワードのハッシュ化をさらに安全にするためにあります。具体的には、ユーザーごとに生成されるランダムな文字列をパスワードに追加してからハッシュ化することで、同じパスワードでも異なるハッシュ値が得られるようにすることができる