Как я могу разместить свой собственный статический делегат BrowserID без запуска почтового сервера?
Я размещаю свой собственный статический HTML-сайт, который также служит делегатом OpenID. Это означает, что я могу использовать свой собственный URL-адрес для входа в систему OpenID, но передать реальную работу кому-то еще (с соответствующей стоимостью необходимости доверять им).
Как я могу сделать что-то подобное с BrowserID?
- Я не хочу реализовывать свой собственный IdP, я хочу делегировать
- Я не хочу размещать почтовый сервер
- Я знаю о стоимости доверия третьей стороне
Делегированные документы поддержки говорят:
Домен может делегировать другому домену, если другой домен публикует документ /.well-known/browserid.
Я предполагаю, что могу:
- Получите себе бесплатный сертификат StartSSL (который мне придется продлевать ежегодно)
- Переключитесь на HTTPS
- Создать действительный
browserid
файл на моем сайте, доступный по адресу https://mysite.example.com/.well-known/browserid, содержащий:
{
"authority": "login.persona.org"
}
... который должен делегировать запросы BrowserID Mozilla Persona.
Но, если у меня нет собственного почтового сервера, что будет дальше? С каким (нефункциональным) адресом электронной почты я могу войти? Предполагая, что я могу сделать это, как обрабатывается проверка?
В качестве альтернативы, есть ли у Persona общий мост идентификации OpenID, в дополнение к специфичным для Yahoo и Gmail? (Опять же, возникает вопрос, какой адрес электронной почты я бы использовал в этом случае?)
1 ответ
Нет смысла делегировать login.persona.org
потому что это резервный провайдер идентификации, который будет использоваться, если вы не делегируете. Кроме того, если вы не используете почтовый сервер в своем домене, резервный вариант не будет работать для вас, потому что он основан на электронной почте.
С другой стороны, остальные шаги, которые вы написали, сработали бы, если бы вы делегировали службу, например https://persowna.net/ которая не должна требовать наличия почтового сервера в вашем домене.
Универсального моста OpenID нет, но вот провайдер идентификации Persona, который я написал, чтобы разрешить мне делегировать провайдера OpenID вручную: https://github.com/fmarier/persona-openid-delegation