Доступ к механизму восстановления, если сайт поддерживает только вход OpenID

Скажем, у меня есть сайт, например Stackru, который поддерживает только вход в систему OpenID. Предположим, у кого-то была учетная запись на сайте, связанная с его OpenID, а затем он потерял доступ к своему провайдеру OpenID (это, безусловно, возможно и не сложнее, чем потерять пароль электронной почты). Как он тогда восстановит доступ к своей учетной записи?

Я вижу два варианта: один из них - это обычная последовательность mail-me-a-key, подходящая только в том случае, если он предоставил адрес электронной почты.

Во-вторых, он мог бы предоставить резервный OpenID для таких аварийных ситуаций (это то, что SO, я полагаю).

Как вы (или вы бы) реализовали восстановление доступа с помощью OpenID? Какие-нибудь мысли?

Я использую RoR + Authlogic-openid, если это имеет значение.

1 ответ

Решение

Я бы не стал. Я бы положился на поставщика идентификатора пользователя, чтобы справиться с этим. Если поставщик пользователя этого не делает, пользователь должен выбрать нового поставщика в следующий раз:) Это может показаться недружественным для пользователя, но это просто выдвигает требование к поставщику, что является частью философии OpenID. Потеря доступа - это не самое плохое, что провайдер может сделать для пользователя, поэтому я чувствую себя комфортно, полагаясь на провайдера, чтобы он справился с ситуацией должным образом.

Один из способов быть полезным - позволить пользователю связать вторую учетную запись со своей учетной записью - пользователь, который теряет доступ к одной, может использовать другую. Однако это должно быть сделано пользователем до потери доступа.

Это то, что делает Stackru - вы можете добавить дополнительные удостоверения во время аутентификации, и если вы выйдете из системы и попытаетесь снова войти в систему, вам не предложат опцию входа без OpenID.

Другие вопросы по тегам