我想请教一下,我使用的是BladeX,现在有一个需求。后台的一个接口可以获取username,然后我需要通过username在后台实现用户的登录(和前端页面登录一样),如果我直接按照前台的请求去构造参数,使用httpUtil调用oauth/token的话,后台没法获取到用户的密码,数据库存储的密码和前端请求传递过来的密码是不一致的。
密码传输是这样的:
1. 前端把明文密码进行md5加密传给后台
2. 后台收到后把md5串再进行sha1加密然后保存到数据库
所以你需要做两层加密才能得到正确的加密密码,直接从数据库获取密码是没法调用token接口的,否则就成漏洞了,数据库泄露后,其他人一波接口直接获取token进行操作,那麻烦就大了。
如果你一定要有这个需求,那就自定义写一个tokenGranter吧,去掉密码认证,可以参考 SocialTokenGranter。
但需要确保这个接口的安全性,不能直接调用,至少得放个basic认证或者其他的手段控制下才行
扫一扫访问 Blade技术社区 移动端