Handle case where the returned auth is already valid

At least for Buypass, if one already has previously validated an authorization on that ACME account for a requested domain name, the initial status when created is "valid". However, the code was trying to submit the challenge for validation anyway, causing the server to return "status:400 Unable to process challenge, authorization is not pending". So, if the initial status is valid, it should just proceed rather than trying to process the challenge again.
I'm not sure if this is exactly the best way to write this, but it seems to work for me on both Let's Encrypt and Buypass.
This commit is contained in:
Peter Cooper Jr. 2024-06-06 08:31:50 -04:00
parent 45fd6962f2
commit 0d20643826
1 changed files with 5 additions and 1 deletions

View File

@ -855,7 +855,11 @@ ACME._postChallenge = function (me, options, kid, auth) {
.catch(transformError);
}
return respondToChallenge();
if (auth.status === 'valid') {
return pollStatus();
} else {
return respondToChallenge();
}
};
// options = { domains, claims, challenges }