我们开发了一个应用程序,其中Angular 5作为前端,Spring Boot作为后端。 第一页是登录页面,它调用rest api以在后端使用LDAP进行身份验证。 我们正在使用与JWT的OAuth实现。因此,当用户登录时,凭据用户名和密码将通过。 POST请求在身体中为其他api进行身份验证。 在标题中,我们为Oauth发送clientId和secret。 问题是凭据在请求中公开,可以在浏览器开发人员选项中看到。 我需要一种掩盖/加密这些凭据的方法。
答案 0 :(得分:0)
您可以使用cypto-js库来加密角应用程序中的密码。
安装:
npm install crypto-js
用法:
var AES = require("crypto-js/aes");
var SHA256 = require("crypto-js/sha256");
var MD5 = require("crypto-js/md5");
console.log(AES("YOUR PASSWORD"));//AES ENCRYPTION
console.log(SHA256("YOUR PASSWORD"));//SHA256 ENCRYPTION
console.log(MD5("YOUR PASSWORD"));//MD5 ENCRYPTION
谢谢希望这有帮助!
答案 1 :(得分:0)
嗯,在网络选项卡中请求中公开的密码是非常正常的" - 您的API需要读取密码并检查密码是否有效。
您还可以做一些事情:
我实际上不喜欢Hash变体,因为你失去了对密码强度的控制,理论上有人可以使用API并创建一个密码用户"测试"或类似的东西。
第二种方法确实对您有所帮助,因此在“网络”标签中看不到它。但请注意,如果有人真正关心他可以在您的源代码中查找加密,并且仍然可以在请求中解密它,如果他有权访问它