Normalize credentials using NFC according to RFC
@@ -81,6 +81,7 @@ def basic_auth(realm, checkpassword, debug=False):
if scheme.lower() == 'basic':
decoded_params = base64_decode(params)
decoded_params = tonative(ntob(decoded_params), 'utf-8')
+ decoded_params = unicodedata.normalize('NFC', decoded_params)
username, password = decoded_params.split(':', 1)
if checkpassword(realm, username, password):
if debug:
