Добро пожаловать.

(4212) 24-24-29
г. Хабаровск,
ул. Ким Ю Чена, д. 38,
оф. 203.
studio@khvweb.com
211-028-011
Рады видеть Вас в блоге нашей студии! Здесь мы копим нужную, а иногда просто интересную информацию о создании сайтов. Категории:
Статьи
Новости Интернета
Новости студии
Обзоры
Публикации


Главная » Блог » Новости Интернета

BrowserID: почтовый адрес как ID пользователя



Mozilla закончила разработку BrowserID — единой децентрализованной системы аутентификации, которая использует HTML5, криптографию с открытым ключом и цифровые подписи. Она основана на упрощённой интерпретации Verified Email Protocol.

Даже сейчас, на первом этапе внедрения, система довольно проста для пользователя: ему нужно один раз подтвердить email, после чего он получает возможность безопасной авторизации на любом сайте в два клика мышкой, без ввода пароля. В будущем авторизация ещё более упростится, когда поддержку BrowserID внедрят в браузеры, а почтовые провайдеры станут центрами идентификации первого уровня.


Так будет работать система, если Gmail станет поддерживать BrowserID. В этом случае отпадёт необходимость подтверждать свой email на сайте Browserid.org, который сейчас является пока единственным центром идентификации первого уровня.

Кроме отсутствия паролей, ключевым преимуществом BrowserID является защита приватности — в отличие от OpenID и всех подобных систем, провайдер identity в BrowserID не получает данных о том, на каком сайте залогинился пользователь.

Для поддержки BrowserID достаточно включить библиотеку include.js, добавив следующую строчку в заголовок страницы:

<script src="https://browserid.org/include.js" type="text/javascript"></script>


Вместо кастомной кнопки можно поставить одну из стандартных, которые предлагаются для BrowserID.



По нажатию на кнопку осуществляется вызов функции верификации адреса электронной почты.

navigator.id.getVerifiedEmail(function(assertion) {
    if (assertion) {
        // This code will be invoked once the user has successfully
        // selected an email address they control to sign in with.
    } else {
        // something went wrong!  the user isn't logged in.
    }
});


После успешной проверки адреса электронной почты API возвращает вам подписанную строку assertion, которая подтверждает email пользователя.

На втором этапе вам нужно верифицировать assertion и получить email пользователя. Это делается запросом к https://browserid.org/verify с двумя параметрами POST (assertion и audience) — запрос подписан уже вашей подписью. Верификатор проверяет валидность assertion.

$ curl -d "assertion=<ASSERTION>&audience=https://mysite.com" "https://browserid.org/verify"
{
    "status": "okay",
    "email": "lloyd@example.com",
    "audience": "https://mysite.com",
    "expires": 1308859352261,
    "issuer": "browserid.org"
}


Проверку assertion можно осуществлять и на собственном сервере, см. спецификации и исходники верификатора. В этом случае обеспечивается абсолютная защита информации — провайдер identity не получает данных о том, на каком сайте залогинился пользователь.

Демо BrowserID (с конференции Mozilla All Hands в сентябре 2011 г.)

Комментарии