Skip to content

Commit

Permalink
Update DigestAuthorization.ino (Simple example update) (#7579)
Browse files Browse the repository at this point in the history
Simple example update to pass the method as a parameter to getDigestAuth(), so it is more easily used for POST.
Add setting the ransom seed to RANDOM_REG32 in setup() for better getCNonce() values.
  • Loading branch information
deive authored Sep 4, 2020
1 parent 2171a2e commit bfecdb0
Showing 1 changed file with 4 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ String getCNonce(const int len) {
return s;
}

String getDigestAuth(String& authReq, const String& username, const String& password, const String& uri, unsigned int counter) {
String getDigestAuth(String& authReq, const String& username, const String& password, const String& method, const String& uri, unsigned int counter) {
// extracting required parameters for RFC 2069 simpler Digest
String realm = exractParam(authReq, "realm=\"", '"');
String nonce = exractParam(authReq, "nonce=\"", '"');
Expand All @@ -64,7 +64,7 @@ String getDigestAuth(String& authReq, const String& username, const String& pass
String h1 = md5.toString();

md5.begin();
md5.add(String("GET:") + uri);
md5.add(method + ":" + uri);
md5.calculate();
String h2 = md5.toString();

Expand All @@ -81,6 +81,7 @@ String getDigestAuth(String& authReq, const String& username, const String& pass
}

void setup() {
randomSeed(RANDOM_REG32);
Serial.begin(115200);

WiFi.mode(WIFI_STA);
Expand Down Expand Up @@ -118,7 +119,7 @@ void loop() {
String authReq = http.header("WWW-Authenticate");
Serial.println(authReq);

String authorization = getDigestAuth(authReq, String(username), String(password), String(uri), 1);
String authorization = getDigestAuth(authReq, String(username), String(password), "GET", String(uri), 1);

http.end();
http.begin(client, String(server) + String(uri));
Expand Down

0 comments on commit bfecdb0

Please sign in to comment.