BladeX后台如何通过username模拟登录

Blade 未结 1 783
日行千里
日行千里 剑圣 2021-05-06 09:55

我想请教一下,我使用的是BladeX,现在有一个需求。后台的一个接口可以获取username,然后我需要通过username在后台实现用户的登录(和前端页面登录一样),如果我直接按照前台的请求去构造参数,使用httpUtil调用oauth/token的话,后台没法获取到用户的密码,数据库存储的密码和前端请求传递过来的密码是不一致的。

1条回答
  • 2021-05-06 10:43

    密码传输是这样的:

     1. 前端把明文密码进行md5加密传给后台

     2. 后台收到后把md5串再进行sha1加密然后保存到数据库


    所以你需要做两层加密才能得到正确的加密密码,直接从数据库获取密码是没法调用token接口的,否则就成漏洞了,数据库泄露后,其他人一波接口直接获取token进行操作,那麻烦就大了。


    如果你一定要有这个需求,那就自定义写一个tokenGranter吧,去掉密码认证,可以参考 SocialTokenGranter。

    但需要确保这个接口的安全性,不能直接调用,至少得放个basic认证或者其他的手段控制下才行

    0 讨论(0)
提交回复