前回の
ユーザー認証 Authを学ぶ - Simpleauth編 - きまブログ
に続き、Ormauth編です。
今回は、Simpleauthのサンプルを変更して、
Ormauthのサンプルを実施した手順です。
設定 - Ormauth編
順番として、以下の感じで実行していきます。
1. Simpleauthで反映したマイグレーションを、元に戻す。
2. ドライバーをSimpleauth → Ormauth へ変更する。
3. 再度、authパッケージのマイグレーションを実施する。
1. Simpleauthで反映したマイグレーションを、元に戻す。
まず、試しに、ドライバーを Ormauth へ変更してから、マイグレーションを実行しようとすると、
$ oil refine migrate --packages=auth Already on the latest migration for package:auth.
といって、怒られる。
ここで、currentを付けても、
$ oil refine migrate:current --packages=auth Already on the current migration for package:auth.
といって、怒られるので、ドライバーはSimpleauthのまま、
まず、Simpleauthで実施したマイグレーションを落としました。
地道にひとつずつw
やりすぎても、失敗するだけなので大丈夫w
$ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 010_auth_fix_jointables $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 009_auth_create_oauth2tables $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 008_auth_create_providers $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 007_auth_add_permissionsfilter $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 006_auth_add_authactions $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 005_auth_create_authdefaults $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 004_auth_create_permissiontables $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 003_auth_create_roletables $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 002_auth_create_grouptables $ oil refine migrate:down --packages=auth Reverted migrations for package:auth: - 001_auth_create_usertables $ oil refine migrate:down --packages=auth There are no migrations installed to revert for package:auth.
2. ドライバーをSimpleauth → Ormauth へ変更する。
/fuel/app/config/auth.phpの、
’driver’=>’Simpleauth'
↓
’driver’=>’Ormauth’
へ変更します。
3. 再度、authパッケージのマイグレーションを実施します。
$ oil refine migrate --packages=auth Performed migrations for package:auth: 001_auth_create_usertables 002_auth_create_grouptables 003_auth_create_roletables 004_auth_create_permissiontables 005_auth_create_authdefaults 006_auth_add_authactions 007_auth_add_permissionsfilter 008_auth_create_providers 009_auth_create_oauth2tables 010_auth_fix_jointables
マイグレーションが実行されました。
なんで、こんなことしなきゃならないかというと、
authパッケージのマイグレーションには、
ドライバーに応じて、条件分岐するトコロがあるので、
「たぶん、元に戻さないと、うまくいかないだろうなぁ。。」と思い、
まず、 migrate:down で元に戻してから、
改めて、Ormauth で、migrateしなおしました。
すると、コードは何も修正しなくても、動きましたw
(ユーザー登録、未登録ユーザーのログイン失敗、登録ユーザーのログイン成功。まで。)
はじめに - OrmAuth - Auth パッケージ - FuelPHP ドキュメント
のサンプルコードもSimpleauthと同じだったので、
まぁ、そうなのでしょう。。