1. Loki

    26.08.2009

    0 ↑
    0 ↓
    Мне не совсем понятен вот такой вопрос: везде пишут что OpenID обеспечивает уникальность пользователя, не надо придумывать незанятый логин и т.д и т.п. Все это здорово звучит, пока не начинаешь задумываться над реализацией.
    Рассмотрим ситуацию:
    на сайт зашли два пользователя. Оба имеют аккаунты у одного openID провайдера (пусть будет yandex). У обоих в профиле написано что их зовут Вася. Авторизуются они через OpenID 2.0 (если я ничего не напутал, то в этом случае URL неуникальный).
    В итоге получается что нам нужно отображать на сайте двух одинаковых пользователей, которые отличаются только email, но так как у одного email test12345@ya.ru, а у другого - sex_mashine@ya.ru, то оба будут не в восторге от того, чтобы их уникальные id публиковались.
    Как поступают в подобных случаях? Имеет ли openID какие-то механизмы для их решения?
  2. der Igel

    26.08.2009

    0 ↑
    0 ↓
    В OpenID 2.0 URL тоже уникальный, просто его сам выберет провайдер, и вернет в ответе.
    И в случае Яндекса, у этих Васей разные аккаунты, и вернется например http://openid.yandex.ru/vasya1/ и http://openid.yandex.ru/vasya2/
  3. Identity url будет разный у Васей - это и есть искомый идентификатор.

  4. Loki

    26.08.2009

    0 ↑
    0 ↓
    Правильно ли я понимаю: никуда не уйти от того, чтобы при отображении имени пользователя где-то рядом болталась ссылка на его openID, во избежание недоразумений с "однофамильцами"?
  5. Иван Сагалаев

    26.08.2009

    1 ↑
    0 ↓

    Небольшое уточнение. Возможность указывать вместо своего персонального URL'а URL своего провайдера появилась в OpenID 2.0, но не является чем-то обязательным. Это просто ещё один дополнительный режим, когда конечный вид URL'а определяет провайдер по факту залогиненности своего пользователя.

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

    Если же вопрос в том, как это сделать красиво интерфейсно, то проявите фантазию. В принципе, OpenID можно и не выпячивать. Мы же когда с людьми знакомимся, далеко не всегда у них паспорт просим, чтобы подтвердить, что Маша и вправду Маша. А иногда нам просто всё равно, как её зовут на самом деле :-). У меня, например, в этом форуме, OpenID доступен за кликом на имя пользователя. А идентичность обозначается выбранным именем и сгенерированным мутантом. Это как раз был эксперимент в визуализации URL'ов :-)

  6. Supercharged

    27.08.2009

    0 ↑
    0 ↓
    Я не хочу показывать идентификаторы. Как вообще показать идентификатор от Гугла? Это не правильно, я считаю. Есть никнейм и любой человек хочет, чтобы его ассоциировали с никнеймом, а не с URL-ом каким-то.

    Если, допустим, у меня на сайте тусуются два Васи - один плохой, а другой хороший. Комменты хорошего ценятся, а комменты плохого содержат ложную информацию. Надо очень четко различать Васей. Плохой Вася может и аватар хорошего Васи себе подставить.

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

    PS: Шаг в сторону. В реальной жизни у меня 5 знакомых Васей. Все - разные люди и всех я называю по разному. Есть "Вася из Караганды", например. Почему-бы не связывать никнейм на сайте/форуме с еще какой-то информацией о пользователей. "Новенький Вася", "Старенький Вася", "Вася из Одессы", "Вася технарь", "Вася кодер" и так далее...
  7. Иван Сагалаев

    27.08.2009

    0 ↑
    0 ↓

    Тогда есть ещё вариант — давать пользователям вешать на других людей собственные алиасы. Как в instant messaging клиентах.

    Но я уверен, что идентификатор таки должен быть доступен где-нибудь в глубине профиля. Не у всех ведь Google провайдер со своими непрозрачными URL'ами. А URL о многом говорит не только машине, но и человеку.

  8. Loki

    27.08.2009

    0 ↑
    0 ↓

    А идентичность обозначается выбранным именем и сгенерированным мутантом. Это как раз был эксперимент в визуализации URL'ов

    Спасибо за рекомендации! Я решил настаивать на уникальности логина. Так как визуализация, к сожалению, не очевидна. Я, например, думал что это просто предустановленные аватарки на форуме.

    собственные алиасы. Как в instant messaging клиентах.

    В месенджерах можно давать собственные имена как раз по той причине, что пользователь сам решает кого туда добавлять. Так что он уже в момент добавления знает что пользователь дублируется. А читая форум немногим придет в голову что под одним именем скрываются разные люди.

  9. grey3.livejournal.com

    11.09.2009

    0 ↑
    0 ↓
    Есть логичное (хотя возможно неоптимальное) решение: в момент создания/смены имени (или алиаса) проверять наличие дубликата, и если он есть - предупредив текущего, принудительно поставить обоим признак "дописывать к имени(алиасу) последние цифры уникальных номеров этих пользователей на этом форуме, до получения разницы".
    Если предупреждённый вовремя решит что такое автодополнение его не устроит, он может сам попробовать другое имя/алиас до получения уникальности.

    Пример: Был юзер "Вася" за номером 1256, под номером 1796 пытается региться другой Вася. Система образует вначале "Вася 6" и "Вася 6" - тоже дубль, тогда проверяется "Вася 56" и "Вася 96" - ОК, новому Васе сообщается "В связи с наличием другого Васи вы будете видимы как Вася 96. Если не согласны, попробуйте сами подобрать уникальное имя".
    Минус - при этом старый Вася во всех старых сообщениях тоже оказывается переименован, на что не все согласятся...

    Тогда другое решение: разделить логин(ОпенИД), имя и алиас. И требовать уникальности именно алиаса. По умолчанию алиас равен имени, но если он оказался неуникален, то юзера принудительно перебрасывает на страничку смены алиаса (к которому приписывается цифра) и система не позволяет ничего делать пока он не согласится на какой-нибудь вариант алиаса, являющийся уникальным. Тот же "Вася 1796", если он согласен; или какой-нибудь введённый пользователем "Васиссуалий".

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.