Open simonsolutions opened 4 months ago
Hi,
Many thanks for this report. Have you considered this: https://github.com/Spomky-Labs/otphp/blob/11.4.x/doc/Customize.md#issuer
Hi, I've seen the property. When adding for example a Microsoft365 account, the label is complete including issuer separated by a url encoded colon. So the idea would be when setting the label splitting it to label and issuer if the colon is present? That would prevent splitting the strings outside the library, maybe with a separate property "isIssuerIncludedInLabel".
Version(s) affected
11.3
Description
When setting a Label like this "Provider%3Ausername%40domain.com" it throws the error "Label must not contain a colon."
How to reproduce
Setting a Label like this "Provider%3Ausername%40domain.com"
Possible Solution
Allowing URL Encoded colons.
Other implementations allow it URL encoded. (Microsoft and Google provide them e.g.)
Additional Context
The issuer prefix and account name should be separated by a literal or url-encoded colon, and optional spaces may precede the account name. Neither issuer nor account name may themselves contain a colon. Represented in ABNF according to RFC 5234:
label = accountname / issuer (“:” / “%3A”) *”%20” accountname Valid values might include Example:alice@gmail.com, Provider1:Alice%20Smith or Big%20Corporation%3A%20alice%40bigco.com.