javascript、jquery或django中的HTTP基本身份验证

HTTP basic authentication in javascript, jquery or django?

本文关键字:HTTP 身份验证 中的 django jquery javascript      更新时间:2023-09-26

我正在开发一个web应用程序(a),它充当另一个网站(B)的"前端",需要基本的HTTP身份验证(即弹出并要求输入用户名和密码的类型)。

在我的网络应用程序中,每个用户都已经将其B的用户名和密码存储为A帐户的一部分。然而,当用户第一次尝试从A访问B中的资源时,它会提示输入用户名和密码(但在会话的剩余时间里不必再输入了)。我希望用户永远不必显式输入他的凭据(因为凭据已经存储在他的帐户中)。

使用javascript/jquery或一些Django代码,是否可以在后台对该用户进行先发制人的身份验证,例如当他们登录到A时?这应该只是一个简单的问题,用用户名和密码向B中的某个资源发送请求,因此

谢谢,我希望这个问题很清楚。

jQuery ajax()方法支持HTTP身份验证,选项为"用户名"answers"密码"。

jQuery.ajax()手动:

如果服务器在提供响应之前执行HTTP身份验证,则可以通过用户名和密码选项发送用户名和密码对。

B。VB.:

这应该只是一个简单的问题,用用户名和密码向B中的某个资源发送请求

我没有测试,但绝对值得一试。可能只要服务器授权了客户端,就不应该再次提示它输入凭据,所以值得一试。

我相信你可以把它直接放在URL中。

http://user:pass@server.domain.tld/dir/file.ext

简单的答案是,如果不引入涉及B后端的通用身份验证/安全令牌共享等机制,您可能无法做到这一点。

由于B可能是不同的来源,同源政策将阻止您从a.提供的页面向B提出请求

如果您能够更改B后端,那么当用户登录到a时,您可以从a上的页面向B发出JSONP请求(即不是通过HTTP头进行基本身份验证)。

另请参阅http://en.wikipedia.org/wiki/Single_sign-on寻找不同解决方案的灵感。