マイグレーションで Seed データを投入するとき、 ユーザーを作成するところで UserManager を使わずに、 IdentityDbContext を使って直接データベースに保存してしまっていた。
そのせいで、ログインするときに ClaimsIdentityFactory が内部でクレームを作成する箇所で ArgumentNullException が発生して嵌った。
ユーザー作成では AspNetUsers テーブルにユーザー情報を追加するだけではダメだったのか。 今まで IUserStore を実装したカスタムストアばかり使っていたから、こんなところで躓いてしまった。
ASP.NET Identity のソースコードを見てなんとか解決できたけど、半日費やしたよ…。 ASP.NET Identity を素直に使うなら、ユーザー作成はちゃんと UserManager を通さないとダメ。 ゼッタイ。