Подтвердить что ты не робот

Базовая аутентификация HTTP/HTTPS: двоеточие в имени пользователя

Это может быть основной вопрос, но возможно ли иметь имя пользователя ( ":" ) в имени пользователя при базовой аутентификации HTTP или HTTPS? Если нет, есть ли способ избежать двоеточия?

4b9b3361

Ответ 1

Глядя на RFC - http://tools.ietf.org/html/rfc2617#section-2 и по всему Интернету, похоже, не существует метода escaping для двоеточия в имени пользователя. Единственное место, которое вы можете получить, это в поле пароля.

Если это вариант, возможно, вы можете заменить: с @на уровне auth и попросить пользователей сделать это.

Ответ 2

RFC http://tools.ietf.org/html/rfc2617#section-2 четко указывает, что имя пользователя не должно содержать двоеточие:

Чтобы получить авторизацию, клиент отправляет идентификатор пользователя и пароль, разделенные одним символом двоеточия ( ":" ), в кодировке base64 [7] в учетных данных.

basic-credentials = base64-user-pass

base64-user-pass = <base64 [4] encoding of user-pass, except not limited to 76 char/line>

user-pass = userid ":" password

userid = * <TEXT excluding ":">

password = *TEXT

Исходя из этого, нет способа использовать двоеточие внутри имени пользователя.