ASP.NET CoreのIdentityのパスワード設定規則をカスタマイズする
Identityのパスワード設定規則はデフォルトでは以下のようになっている。
- 長さ6文字以上
- 少なくとも1文字はユニーク(パスワードの中に1つしか含まれていない)な文字(つまり、全部同じ文字はだめ)
- 英数字以外の文字を少なくとも1文字
- 小文字が少なくとも1文字
- 大文字が少なくとも1文字
- 数字が少なくとも1文字
これらはPassowrdOptionsクラスで指定されている。
これを変更するには、Startup.cs内で以下のようにIdentityOptions内のPasswordOptionsのプロパティを上書きする。
services.Configure<IdentityOptions>(options => { options.Password.RequireDigit = false; options.Password.RequiredLength = 10; });
ちなみにこのIdentityOptionsクラスはPasswordOptionsだけでなく、SignInOptionsやUserOptionsといった型のプロパティを持っているので、色々設定できそう。