今天因为关于找回密码的功能,差一点跟产品吵起来。
事情的缘由是这样的。产品上要做一个单点登录的系统,要有找回密码,修改密码的功能。单点登录我选择了开源的cas。
注册账号,修改密码,修改资料(密码也是个人资料)等,我自己做的cas客户端 用户中心(UCenter)。也就是说,要通过sso 中心登录,回调回来,才能登录UCenter。
修改密码必须登录,和输入原密码,两次新密码。做修改密码功能的理由大概是 “用户想修改密码了吧”或者“用户想统一所有账号的密码,所以才改吧”。后面说,这个功能其实可以不做。
输入原密码,是防止用户离开电脑,被别人修改。输入两次原密码,为的是用户输入的密码可能与期望不一样导致下次登录输入密码不正确。前端验证两次密码两次新密码一致,后端不必验证。
产品的需求是,用户修改完密码,必须重新登录。也就是说,我必须显示的退出UCenter,清空UCenter 的session。重定向sso系统,清空sso系统票据,删除sso系统cookie。然后调到登录页面。