リスト8.12 サインインが失敗したときの正しいコード。