Add option to accept empty password in BasicStrategy #28
+58
−9
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Accept empty passwords (i.e.
userid:
instead ofuserid:password
) by passing a new option,{ acceptEmptyPassword: true }
, when creating the strategy.This is useful for implementing an API that only requires a secret key as the username (example: Stripe's API authentication). Instead of failing with a
400 Bad Request
, Passport will now let the verify callback decide how to handle the empty password.The IETF spec wasn't clear for me on whether an empty password is allowed or not, so when the option is not explicitly set to true I kept the previous behavior (400).
Would be happy to make this the default and remove the option though, if there are no side effects I'm not seeing :)