Ensure that an OTP's issuer and label values are escaped correctly#391
Merged
codebude merged 3 commits intoShane32:masterfrom Apr 7, 2024
Merged
Ensure that an OTP's issuer and label values are escaped correctly#391codebude merged 3 commits intoShane32:masterfrom
codebude merged 3 commits intoShane32:masterfrom
Conversation
|
I discovered the same problem yesterday, thank you for the fix! Also, MS Authenticator does not support unescaped URLs, so that fix is really important. |
|
Thanks for this fix, it addresses issue #375. I suggest also escaping the |
Contributor
Author
Thanks @tom-156842, done 👍 |
|
@codebude Do you have any update on when this fix will be released? |
doggy8088
approved these changes
Aug 30, 2023
Owner
|
All changes here look good. Generated QR codes scan properly with Google Authenticator. Tests have already been added 👍 |
This was referenced Dec 5, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
This PR fixes/implements the following bugs/features:
What existing problem does the pull request solve?**
Currently, if you create an OTP with an issuer that contains a space, for example:
and then call
ToStringon thatoneTimePassword, that will return:otpauth://totp/Google Google:test@google.com?secret=pwq65q55&issuer=Google%20Google(note the first "Google Google" is not escaped, like the second one in the
issuerparameter)which then looks like this in Google Authenticator after scanning the resulting QR code:
This PR resolves this issue by correctly escaping both instances of the issuer in the URL, which then appears correctly in Google Authenticator:
otpauth://totp/Google%20Google:test@google.com?secret=pwq65q55&issuer=Google%20GoogleTest plan
Test cases have been added.
Closing issues
N/A