ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

認証APIで連携しているシステムで、ログインできない現象の意外な原因

システムにログインできないと連絡がありました。
認証は、認証用のAPIに入力された値をPOSTで送信して、結果をXMLで受け取ります。
ajya.hatenablog.jp

結果を確認すると、パスワードが間違っているという内容でした。

パスワード
Image by Gerd Altmann from Pixabay

パスワードは最大10桁までに制限されていた

認証用のAPIを運用されている会社側の調査で原因がわかりました。
原因は、パスワードは最大10桁なのに、12桁入力されていたためでした。
こちらが新たに作成したシステム以外の他のシステムは、パスワードの入力に、maxlength属性に10を指定しているそうです。
developer.mozilla.org

10桁に制限しているから、12桁入力されても、実際は10桁だけ入力されていて、認証処理を行ってもエラーにならないそうです。
パスワードなので、●で表示されて、10桁しか入力できていなくても気づいていなくて、同様のエラーが大変多いそうです。

この情報を得て、
パスワードが最大10桁に制限されているのが周知されていないの?
10桁しかないのに12桁入力して、エラーが多いのをなぜこれまで改善しなかった?
パスワードの桁数エラーが多いから、10桁までの制限をつけて欲しいとなぜ連絡をくれなかった?
という疑問がありました。

今後も認証に失敗する人が多く発生しそうなので、こちらが新たに作成したシステムのパスワードには、maxlength属性を追加して、値に10を指定しました。