Magento2.1では、顧客のパスワードに関する仕様が一部変更されています。
Magento2.0まではMagento1.xと同じ基準でしたが、今回のバージョンアップで変更が行われています。

Magento2.0までの顧客パスワードに関する仕様

Magento1.0からMagento2.0.xまでは、実はMagentoのパスワードに関する仕様はずっと同じでした。

半角英数字記号6文字+アルファベットと数字または記号を1文字以上含むこと

パスワードの長さは6文字。これはパスワードの長さとしては今となってはやや短いと指摘を受けてもおかしくない仕様です。Magento1.0の頃からセキュリティに厳しいサイトの要求事項では、「パスワードの文字数は最短で8文字」というものが見受けられたので、未だにかなり昔の遺産を引きずっていたと言っても過言ではないでしょう。

また、文字種に関する仕様においても、「アルファベットと数字または記号をそれぞれ1文字以上含むこと」とされていました。

  • アルファベットの大文字小文字がそれぞれ1文字以上
  • 数字と記号は別カウント

というレベルにまでは達していなかったため、比較的ゆるい「aaaaa1」のようなパスワードでも登録が可能でした。

ハードコーディングされていたパスワードの最短文字数

パスワードの最短文字数が6文字、という仕様を説明すると「◯文字以上にして欲しい」というご要望を比較的よくいただいてきました。
変更作業的にはさほど難しくはなかったのですが、最短文字数の定義がプログラム内に書き込まれていたため、一手間かけざるを得ないという状況でした。

Magento2.1からの顧客パスワードに関する仕様

さて、Magento2.1はこれまでとはパスワードに関する仕様が変わっています。

パスワードの最短文字数が変更可能に

まず、管理画面からパスワードの最短文字数が変更できるようになりました。
標準はこれまでどおり6文字ですが、仕様に合わせて増やすことも(推奨はされませんが)減らすことも可能です。

パスワードに含める文字種の種類数を指定可能に

さらにパスワードに含める文字種(半角英字、数字、記号、英字の大文字小文字)をどのレベルまで含ませるべきかを管理者が指定できるようになりました。

以下の表のように設定できるので、サイトの状況に合わせて調整すると良いでしょう。

設定値 対象文字種
1 半角数字
2 半角数字と半角英大文字
3 半角数字と英文字(大文字小文字両方)
4 3に加え、半角記号