HTTP基本身份验证中的自定义HTML登录表单
Custom HTML login form in HTTP Basic Auth
我有一个带有HTTP基本验证的API。如果未通过身份验证的用户发送HTTP请求,则服务器返回401状态码和WWW-Authenticate
头。浏览器显示标准登录表单。是否可以显示我的HTML登录表单而不是标准浏览器的登录表单?
由于您使用的是AJAX调用,因此您可以从服务器截取401状态代码,并将用户重定向到自定义登录表单。例如,假设您正在使用jQuery并试图访问受保护的基本身份验证API端点https://httpbin.org/basic-auth/user/passwd:
$.ajax({
url: 'https://httpbin.org/basic-auth/user/passwd',
type: 'GET'
}).then(function(result) {
alert('success');
}).fail(function(xhr) {
if (xhr.status === 401) {
// we are not authenticated => we must redirect the user to our custom login form
window.location.href = '/my-custom-login-form';
}
});
一旦您收集了用户名和密码,您将知道如何在后续请求API时构造正确的身份验证头:
$.ajax({
url: 'https://httpbin.org/basic-auth/user/passwd',
type: 'GET',
headers: {
Authorization: 'Basic dXNlcjpwYXNzd2Q='
}
})...
相关文章:
- 如何使用Node/Express显示有关特定错误的自定义html页面
- 自定义HTML元素属性未显示-Web组件
- 如何使用ReSharper自定义HTML工具进行JavaScript测试
- 如何访问自定义 HTML 属性
- AngularJS将变量绑定到自定义html属性
- 自定义HTML Shiv的缺点
- 将 d3 演示中的圆圈和文本替换为包含自定义 HTML 和 ko 绑定的 foreignObject
- Wordpress:添加自定义HTML文件
- 使用带有自定义HTML元素的图像usemap
- jQuery使用自定义select()自动完成:自定义HTML中的超链接
- 在递归循环javascript之后,为JSON键变量使用自定义HTML元素
- 如果JavaScript标签是通过谷歌标签管理器插入到页面上的,那么它们的延迟程度是多少;s的自定义HTML
- 如何在没有代码隐藏访问权限的情况下将自定义 HTML 属性添加到 ASP.NET 标签
- 将自定义 HTML 元素与本机元素区分开来
- 如何使用自定义 html 标记来告诉脚本将 html 放在哪里
- 如何在 JSP 中读取 jsp 内部的值打印(作为自定义 HTML 标记)更改事件
- React JSX 中的自定义 HTML 元素标记
- 无法识别流星自定义 HTML 标记
- 使用自定义 html 打印高库存
- Ryan Fait 自定义 HTML 表单和新添加的元素