忘记密码链接令牌验证

2020-09-15 18:57发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

有没有一种方法可以验证令牌中的密码重置。 现在我只是在使用

customerFacade.updatePassword(form.getToken(),form.getPwd());

并使用捕获来获取 TokenInvalidatedException
有没有更好的方法?

谢谢,
乌尔迪斯

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

有没有一种方法可以验证令牌中的密码重置。 现在我只是在使用

customerFacade.updatePassword(form.getToken(),form.getPwd());

并使用捕获来获取 TokenInvalidatedException
有没有更好的方法?

谢谢,
乌尔迪斯

付费偷看设置
发送
1条回答
半个程序猿
1楼 · 2020-09-15 19:03.采纳回答

您好,Uldis,

是的,您可以使用 SecureTokenService 来验证密码重置令牌。 这是操作方法:

 最终的SecureToken数据= getSecureTokenService()。decryptData(token);

  

这将为您提供包含令牌时间戳记的令牌数据。 这可以用来验证令牌是否过期。 以下是帐户服务的摘录:

 最终的SecureToken数据= getSecureTokenService()。decryptData(token);
          如果(getTokenValiditySeconds()> 0L)
          {
              最后的长增量=新的Date()。getTime()-data.getTimeStamp();
              如果(delta/1000> getTokenValiditySeconds())
              {
                  抛出新的IllegalArgumentException("令牌已过期");
              }
          }

  

验证令牌后,只需使用以下方法根据令牌找到客户:

 最终的CustomerModel客户= getUserService()。getUserForUID(data.getData(),CustomerModel.class);

  

就是这样。 希望这会有所帮助。

一周热门 更多>