An implementation of RFC 2617 - Digest Access Authentication. At this time
this library does not drop in to
HTTP::Client and can be used for with other HTTP
crest uses this shard to provide Digest Access Authentication support out of the box.
In order to use
http-client-digest_auth you'll need to perform some request
wrangling on your own. See the class documentation at
for an example.
Ported from Ruby's net-http-digest_auth gem.
Add this to your application's
dependencies: http-client-digest_auth: github: mamantoha/http-client-digest_auth
require "http/client" require "uri" require "http-client-digest_auth" url = "https://httpbin.org/digest-auth/auth/admin/passwd/MD5" uri = URI.parse(url) uri.user = "admin" uri.password = "passwd" client = HTTP::Client.new(uri) response = client.get(uri.full_path) # response is a 401 response with a WWW-Authenticate header www_authenticate = response.headers["WWW-Authenticate"] digest_auth = HTTP::Client::DigestAuth.new auth = digest_auth.auth_header(uri, www_authenticate, "GET") http_headers = HTTP::Headers.new http_headers["Authorization"] = auth # re-issue request with Authorization response = client.get(uri.full_path, http_headers)
- Fork it (https://github.com/mamantoha/http-client-digest_auth/fork)
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create a new Pull Request
- Anton Maminov - creator and maintainer