问题标签 [http-digest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 获取 cUrl 以抢先发送授权标头以在 PHP 中进行 DIGEST 身份验证
我们有一个 PHP 页面(实际上是一个 WordPress 插件),它通过 DIGEST 身份验证调用 REST API。curl 句柄是基于每个请求创建的,给定授权凭据并成功进行身份验证。
问题:
在后台,Curl 发送了两个请求。第一个以 401 和挑战失败,第二个包含 Authorization 标头并成功(200)
在随后的 API 调用中,cUrl 继续发送两个请求。这似乎效率低下,导致操作持续时间增加了 2 倍的网络延迟。
我们如何使 cURL “先发制人地验证”(例如)未来的请求?
Curl Multi 有这个功能吗?
android - getInputStream 在 Android 的 Http Digest 身份验证期间给出 FileNotFoundException
我正在尝试向具有 HTTP Digest 身份验证的 URL 发送 POST 请求。
我用这个来做文摘。我可以理解,在这个机制中有两个步骤。在第一步中,客户端发送请求,服务器以质询响应。在第二步中,客户端将挑战合并到请求中并从服务器获取响应。使用上面提到的类,那件事可以正常工作。
我不得不将 HttpConnection 更改为 HttpURLConnection 以使其在 Android 中工作。
现在,我有了 DataConnection 类,它使用 Digest Auth 类来完成工作。课程如下:
在这里,我在方法调用FileNotFoundException
期间获取 URL 。getInputStream()
我已经多次验证我请求的 URL 和 Digest Auth 的凭据是 100% 正确的。
请帮忙。
问候。
android - android中的Restlet HTTP_DIGEST授权
通过 Android 上的 Restlet 框架获得 HTTP_DIGEST 授权的以下问题。
05-20 18:39:14.623:W/System.err(4584):Restlet 引擎不支持挑战方案 HTTP_DIGEST。05-20 18:39:17.498: W/System.err(4584): 找不到任何支持 HTTP_Digest 质询方案的助手。
在客户端执行并给出上述错误的部分代码
通过浏览器检查了该资源,授权似乎没问题。
有什么建议吗?:)
谷歌没有提出任何可用的东西。
干杯!
spring - DigestAuthenticationFilter 与数据库用户,可能吗?
我的 http-digest 的 Spring-Security 实现: 代码:
我正在尝试对其进行自定义以从数据库中获取用户数据。我试图从接口类 UserDetailsService 访问。代码:
这不起作用,因为实现安全时的标签:用户服务,没有类属性。
任何想法?,如何访问用户数据库?
node.js - 如何使用 Node.JS 请求 HTTP Digest 身份验证?
我必须用 Node.JS 为 API 文档编写一些代码,但最近几天我尝试了我在网上找到的所有解决方案(当然包括 Stack),但没有成功......
我的 API 使用 HTTP Digest Auth,这就是问题所在,我能够连接,这没什么大不了的,但每次我得到相同的回报:
您可以在下面显示我的基本代码而无需身份验证!因为在我做了所有尝试之后我不知道我能做什么:
我最后一次尝试是使用这个模块https://npmjs.org/package/request但每次我得到 401 时他都不会工作!
有关更多信息,我能够使用 Ruby、Python、php 和 Java 从我的 API 连接并获取我需要的信息,因此我确信我的 API 运行良好并且我传递的信息是正确的。我使用 Node v0.10.11 的最后一个稳定版!
如果有人可以帮助我或有最新的解决方案,我会很高兴。
编辑:我将使用Mickael/request模块添加一些关于我的测试的详细信息
第一次尝试 :
第二次尝试:
但是返回还是一样的 401
angularjs - AngularJS 和摘要 HTTP 身份验证
我正在尝试以角度实现摘要身份验证算法。但是,缺乏关于角度将发送的请求的知识使我无法理解该目标。我的方法是通过
路线。但是我提供的功能
显然没有提供有关即将到来的请求的任何知识。由于我根本不了解请求 URI(但尤其是方法,例如 PUT、GET 等),因此不可能计算出正确的摘要哈希。
有人知道 transformRequest 函数如何获取 URI 和请求的目标方法吗?
apache - 对父使用“AuthType Basic”的给定子目录使用“AuthType Digest”?
我正在使用 Apache 2.2,并且我有一个受 HTTP 身份验证保护的应用程序(Zend Framework 1):
它工作得很好。现在我需要使用URL http://example.com/apiAuthType Digest
(因为我们使用的 API 模块适用于基于摘要的身份验证)。
如果没有 API 客户端上方的身份验证代码,则可以正常连接。有了它,我得到“需要 401 授权”,Apache 日志显示“客户端使用了错误的身份验证方案”。
我试过了:
但是现在我在日志中有“摘要:客户端使用了错误的身份验证方案”(注意“摘要:”前缀)。
是否可以使两种 HTTP 身份验证类型并排工作(但是在这种情况下它会级联更多)?
http-authentication - 使用 nginx 进行基本身份验证,然后在 PHP 中进行摘要身份验证失败
我正在开发一个新应用程序,并决定使用基本身份验证保护云登台服务器。
我正在使用 nginx,所以配置如下所示:
我的 MVC 应用程序还有一个“管理”模块,它使用 HTTP Digest 进行保护:
所以,问题是基于 PHP 的 Digest 身份验证不起作用,因为到那时 $_SERVER['HTTP_AUTHORIZATION'] 已经被基本身份验证的结果所占用:$_SERVER['HTTP_AUTHORIZATION'] = "Basic S1aGUzpuZXzzdXRl"。
有没有办法分离基本认证和摘要认证的结果?
谢谢!
c++ - 如何获得正确的摘要身份验证
我尝试编写一个 C++ 应用程序,我必须进行 HTTP Digest Authentication。问题主要不在于 C++,而在于没有建立连接这一事实。我尝试访问的网站如下: httpbin.org/digest-auth/auth/user/passwd 。
考虑以下服务器对简单的响应GET /digest-auth/auth/user/passwd
:
HTTP/1.1 401 UNAUTHORIZED
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: text/html; charset=utf-8
Date: Mon, 08 Sep 2014 15:10:09 GMT
Server: gunicorn/18.0
Set-Cookie: fake=fake_value
Www-Authenticate: Digest realm="me@kennethreitz.com", nonce="2a932bfb1f9a748a7b5ee590d0cf99e0", qop=auth, opaque="2d09668631b42bff8375523e7b27e45e"
Content-Length: 0
Connection: keep-alive
A1
然后被计算为user:me@kennethreitz.com:passwd
并被散列4de666b60f91e2444f549243bed5fa4b
,我将其称为 HA1。
A2
被计算为GET:/digest-auth/auth/user/passwd
和散列b44272ea65ee4af7fb26c5dba58f6863
,我将其称为 HA2。
有了这些信息,响应计算为HA1:nonce:1:ac3yyj:auth:HA2
,其中HA1
和HA2
是我们刚刚计算的值,并且从上面的服务器响应中获取随机数,总共是:4de666b60f91e2444f549243bed5fa4b:2a932bfb1f9a748a7b5ee590d0cf99e0:1:ac3yyj:auth:b44272ea65ee4af7fb26c5dba58f6863
。的哈希是55f292e183ead0810528bb2a13b98e00
.
结合所有这些信息应该足以使用摘要身份验证建立 http 连接。但是,以下请求被服务器拒绝并以另一个HTTP/1.1 401
.
GET /digest-auth/auth/user/passwd HTTP/1.1
Host: httpbin.org
Authorization: Digest username="user", realm="me@kennethreitz.com",nonce="2a932bfb1f9a748a7b5ee590d0cf99e0",uri="/digest-auth/auth/user/passwd",qop=auth,nc=1,cnonce="ac3yyj",response="55f292e183ead0810528bb2a13b98e00",opaque="2d09668631b42bff8375523e7b27e45e"
请注意,格式不显示请求的结构。从 Authorization 到 opaque 的块实际上是一行。
随意重新进行 md5 计算 - 但我已经手动重做计算并获得与我的程序相同的哈希值。我使用该工具(http://md5-hash-online.waraxe.us/)进行手动计算。
我是否在这里遗漏了一些明显的东西,可能在某种程度上误解了标准?为什么我无法获得授权?
android - Android 上的 Http 摘要身份验证失败并出现 401
我正在尝试从 android 客户端进行 http 摘要身份验证。这是一条连接并成功完成摘要的卷曲线。
这是我的 android 客户端中返回 401 的一次尝试。
这是客户端的第二次尝试,也返回 401。
谁能看到我缺少什么才能使身份验证正常工作?我们知道这不是服务器问题,因为卷曲线效果很好。