【问题标题】:How to prevent Keycloak from displaying the password in body?如何防止 Keycloak 在正文中显示密码?
【发布时间】:2022-02-09 05:50:52
【问题描述】:

我有一个重定向到 Keycloak 登录页面的 Angular 应用程序。用户登录后,我检查了已经完成的请求,有一个类似于:

https://localhost:8443/auth/realms/XXX/login-actions/authenticate?session_code=XXX&execution=XXX&client_id=XXX&tab_id=XXX 

在这个请求中,我可以在正文中看到用户发送的用户名和密码:

username=my_user
password=my_password
credentialId=""

这没有加密,我可以在浏览器上轻松查看。当然这是不安全的,所以我想知道。如何防止这种行为?

【问题讨论】:

    标签: angular security https keycloak


    【解决方案1】:

    在您的身体中发送密码是安全的。
    您可以自己在 stackOverflow 上对其进行测试,它会以明文形式向您发送登录名/密码并使用 SSL 证书。
    您发送一次密码,然后使用令牌。
    如果您想阻止 MIM,SSL 证书是一种解决方案。

    【讨论】:

    • 我明白了。但我的意思是我可以在浏览器中明确地看到密码和用户名。这不是不安全吗?我认为所有这些信息都应该加密。我错了吗?顺便说一句,我会将其添加到我的问题中
    • 不,这不是不安全的。尝试从该网站断开并重新连接 (stackOverflow),重新连接时检查您的浏览器,您可以明确看到您的用户名和密码。
    • @JoséDanielMontoyaSalazar 即使您可以在浏览器中看到密码和用户名,但这并不意味着它们实际上是以纯文本形式发送的。从 url 可以看出,请求是通过 HTTPS 协议发送的。这意味着与服务器的整个 HTTP 通信是通过加密的 SSL/TLS 通道实现的。您可以看到密码,因为浏览器会在加密之前向您显示您的请求。
    • 感谢您帮助我理解这一点! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 2019-09-14
    • 2022-10-24
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多