BUG复现:
首先是使用Air Fox时发现提示“返回数据结构与接口定义不一致返回的数据格式不是 JSON”,控制台提示Encoded password does not look like BCrypt。
排除BUG:
1.确认响应体格式
没问题
2.切换PasswordEncoder
NoOpPasswordEncoder不对密码进行额外操作。
返回正确,控制台无警告,根据之前的“Encoded password does not look like BCrypt”警告和切换PasswordEncoder后无异常分析,与密码格式有关。
3.检查数据库
数据库密码以明文方式存储,尝试使用BCryptPasswordEncoder加密后进行存储
PasswordEncoder使用BCryptPasswordEncoder
再次尝试,无异常
总结
当使用PasswordEncoder加密校验密码时,数据库应以密文方式存储。