http - 更改基本 HTTP 身份验证领域和登录对话框消息

标签 http go http-headers http-authentication

我想更改在执行基本身份验证期间弹出的消息。当前的默认消息是:

enter image description here

Server requires a username and password.

对我来说更准确的是:

Server requires an Email and Password.

我的问题是我无法找到或不知道此消息的设置位置以及是否可以更改。大多数在线问题都是关于 Basic Auth 实现的,但这不是我的问题——我可以很好地实现它。我只需要为用户提供更准确的响应。

以下是我如何使用 echo 强制验证窗口:

c.Response().Header().Set(echo.HeaderWWWAuthenticate, `Basic realm="Your Email is your Username"`)
return echo.ErrUnauthorized

注意:只有 Firefox 会显示领域消息。 Chrome 和 Opera 都没有。

最佳答案

这与 Go 无关,但实际上与接收该 header 时的浏览器行为有关。

Chrome/Chromium 似乎有一个已知问题,与开发团队认为不安全的功能有关,所以我认为除非您求助于其他身份验证,否则您无法自行修复它机制。

详情请看这里:

https://bugs.chromium.org/p/chromium/issues/detail?id=544244#c32

关于http - 更改基本 HTTP 身份验证领域和登录对话框消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45666306/

相关文章:

flutter - 类型 '_InternalLinkedHashMap<String, dynamic>' 不是使用 http 包的类型 'String' 的子类型

java - BufferedReader 不一致地卡在我套接字的输入流上

go - 使用 Go SDK,如何将 DynamoDB 表项字段设置为 map ?

go - 如何解码毒蛇配置以使用破折号字符进行结构化

node.js - Chrome 仅设置 'Set-Cookie' header 中的第一个 cookie

http - 如何强制浏览器不下载内容处置为 :attachment header 的文件

http - WSO2 ESB 通过 HTTP api 发送文件无响应解决

c - 简单的网络服务器无法工作

go - Go 中的惯用类型转换

javascript - 根据编码的formData值设置 Node 请求头