Эта статья нуждается в редакционном обзоре. Как вы можете помочь.
You can include the library from https://login.persona.org/include.js.
Кратко
Эта функция позволяет использовать Persona для аутентификации пользователей на вебсайте. Она должна вызываться внутри обработки щелчка мыши, к примеру, вы должны вызвать её, когда пользователь щелкнул по кнопке «Войти с помощью Persona».
Когда функция navigator.id.request()
вызвана она попросит пользователя выбрать адрес электронной почты, который он желает использовать для входа, а также попросит пройти процедуру аутентификации у поставщика услуг (электронной почты, прим. переводчика), если срок сертификата пользователя истёк. После этого, она создаёт подписанную заявку (assertion), содержащую адрес эл.почты пользователя и передаёт эту заявку функции onlogin
, зарегистрированной с помощью navigator.id.watch()
.
Эта функция должна использоваться обязательно в связке с navigator.id.watch()
.
Синтаксис
navigator.id.request(); navigator.id.request({siteName: 'Название сайта', siteLogo: '/logo.png'}); navigator.id.request({termsOfService: '/tos.html', privacyPolicy: '/privacy.html'});
Параметры
-
backgroundColor
Необязательный -
Шестнадцатеричный код цвета для фона диалогового окна. Формат:
"#rgb"
или"#rrggbb"
. -
oncancel
Необязательный - Функция, которую следует вызвать в случае отказа пользователя предоставить свой идентификатор сайту.
-
privacyPolicy
Необязательный -
Должен передаваться по SSL. Так же должен быть передан параметр
termsOfService
(Условия Предоставления Услуг). -
Абсолютный путь или URL до описания политики конфиденциальности веб-сайта. Если этот параметр предоставлен, тогда так же должен быть предоставлен параметр
termsOfService
. Когда оба эти параметра (termsOfService
иprivacyPolicy
) переданы диалоговое окно входа будет содержать предупреждение для пользователя: "продолжив вход, вы соглашаетесь с политиками использования и конфиденциальности сайта". Так же в диалоговом окне будут размещены ссылки на описания этих политик. -
returnTo
Необязательный -
Абсолютный путь на который будут отправлены новые пользователи, закончившие процедуру проверки эл.почты в первый раз. Путь должен начинаться с '
/
'. Этот параметр действует только на тех пользователей, которые проходят сертификацию через запсную Службу Предоставления Идентификаторов от Mozilla (Mozilla's Identity Provider, - прим.). Предоставляемое значение должно указывать реально существующий путь, который может быть использован так же в качестве локации окна – window.location. -
siteLogo
Необязательный - Должен передаваться по SSL.
-
Абсолютный путь до изображения, которое будет отображаться в диалоговом окне входа. Путь должен начинаться с '
/
'. Изображения, превышающие размер 100x100 пикселей будут маштабированы до этого размера. -
siteName
Необязательный - Название вашего сайта, которое будет отображаться в диалоговом окне входа в формате простого текста (plain text - прим.). Допустимы символы Юникода и пробельные символы, но не разметка.
-
termsOfService
Необязательный -
Должен передаваться по SSL. Так же должен быть предоставлен параметр
privacyPolicy
(Политика Конфиденциальности). -
Абсолютный путь или URL адрес до описания условий предоставления услуг веб-сайта. Если этот параметр указан, тогда так же должен быть указан параметр
privacyPolicy
. Когда оба эти параметра (termsOfService
иprivacyPolicy
) переданы диалоговое окно входа будет содержать предупреждение для пользователя: "продолжив вход, вы соглашаетесь с политиками использования и конфиденциальности сайта". Так же в диалоговом окне будут размещены ссылки на описания этих политик.
Пример
var signinLink = document.getElementById('signin'); if (signinLink) { signinLink.onclick = function(evt) { // Запрашивает подписанную идентификационную заявку от пользователя. navigator.id.request({ siteName: 'Мой Сайт', siteLogo: '/logo.png', termsOfService: '/tos.html', privacyPolicy: '/privacy.html', returnTo: '/welcome.html', oncancel: function() { alert('Пользователь отказался идентифицироваться.'); } }); }; }
Технические описания (Спецификации)
Не включена ни в одно техническое описание.