投稿者: oki2a24
概要
- 前提として OAuth2 の知識が必要です。
- 本来必要なのは OAuth2 の認可機能ではなく、ただの認証機能で、それは OpenID Connect によって実現できます。ただ、サンプル構築後に動きを確認したところ、 OpenID Connect で自分がやりたいことを Laravel Passport で代替可能なように思えます。
- 認可サーバ (Authorization Server、 OAuth2 サーバ) を Laravel Passport で構築
- Laravel Passport では数種類のトークン発行方法があるが、今回は アクセストークンの発行 Laravel Passport 5.8 Laravel
- 認可サーバにログイン処理を肩代わりしてもらう ("Twitter でログイン" のように "Laravel Passport でログイン" リンクを備えた) クライアントアプリは、次の 2 つ作成した。
- 認可のプロトコルを全て自分で実装したもの。先ほどの アクセストークンの発行 ページのやり方に沿ったものになる。実際に作ったもの -> sample_laravel5_8_oauth2/client at master · oki2a24/sample_laravel5_8_oauth2
- 認可のプロトコルを Laravel Socialite に任せたもの -> sample_laravel5_8_oauth2/socialite at master · oki2a24/sample_laravel5_8_oauth2
- Laravel Socialite 5.8 Laravel では Laravel Passport でログインする方法には言及されていない。別途 Socialite Providers | Laravel Passport を読んで Laravel Passport のプロバイダを追加する必要がある。
はじめに
次をベースにして勉強、実際の設定を進めていきました。
- [iam aws ベストプラクティス] で検索
- 公式ドキュメント -> IAM とは – AWS Identity and Access Management
はじめに
- PHP 5.3.3 のサーバで動いている 1 ファイルの PHP を修正したい。
- Composer を使っていなかったが、使いたい。
- 手元のローカル開発環境は PHP 7.3
このような環境で、開発をするときの注意事項がわかりましたので、ノートいたします。
はじめに
docs/README.md at master · docker-library/docs を見てみても、2019年9月3日現在、 PHP 5.3 のイメージはありません。
でも、古いサーバの PHP をメンテしたい時、 PHP 5.3 が欲しいのです。そこで、 Docker イメージを作ってみました。
また、古いサーバの古い PHP を、 Composer を使って管理するようにもしたいので、 Composer も Docker イメージに含めるようにしました。
- Logstash を使って、日々出力されるログを Elasticsearch へと送りたい。
- filter で色々書く必要がある。
- お手軽に、書いた logstash.conf をすぐに試す環境が欲しい。
こんな必要性が出てきましたので、今回、まとめました。
まとめ
- 最初にやったのは、テストと開発環境間で影響を与えない独立した状況を作ること。 -> Laravel 5.8。インメモリの SQLite で PHPUnit テストを行う設定 – oki2a24
use RefreshDatabase;
で各テストの後にデータベースをリセットする。 -> 各テスト後のデータベースリセット データベースのテスト 5.8 Laravel- アプリの初期セットアップ状態を再現するために、
setup()
メソッド内で、$this->seed();
を呼び出す。
設定まとめ
- config/database.php の
'driver' => 'sqlite'
の database の値として:memory:
を指定する。 - phpunit.xml の env に
name="DB_CONNECTION" value="sqlite"
を追加する。
対処方法まとめ
- マイグレーションファイルにて、メソッドチェーンで絡むの後にインデックスをつなげる場合は、インデックスのメソッドの引数を指定しない。
- 例えば、
$table->string('meta_key')->nullable()->index('meta_key');
ではなくて、$table->string('meta_key')->nullable()->index();
とする。