Фрилансеры предложат свои варианты уже через несколько минут!
Публикация заказа не займет много времени.

The Tripartite Identity Pattern

Оригинал
The Tripartite IdentityPattern
One of the most misunderstood patterns in socialmedia design is that of user identity management. Product designers often
confuse the many different roles required by various user identifiers. This
confusion is compounded by using older online services, such as Yahoo!, eBay
and America Online, as canonical references. The services established their
identity models based on engineering-centric requirements long before we had a
more subtle understanding of user requirements for social media. By conjoining the
requirements of engineering (establishing sessions, retrieving database
records, etc.) with the users requirements of recognizability and
self-expression, many older identity models actually discourage user
participation. For example: Yahoo! found that users consistently listed that
the fear of spammers farming their e-mail address was thenumber one reason they gave for abandoning the creation of user created
content, such as restaurant reviews and message board postings. This ultimately
led to a very expensive and radical re-engineering of the Yahoo identity model
which has been underway since 2006.
Consistently I’ve found that a tripartiteidentity model best fits most online services and should be forward compatible
with current identity sharing methods and future proposals.
The three components of user identity are:the account identifier, the login identifier, andthe public identifier.

Account Identifier (DB Key)
From an engineering point of view, there isalways one database key – one-way to access a user’s record – one-way to refer
to them in cookies and potentially in URLs. In a real sense he account
identifier is the closest thing the company has to a user. It is required to be
unique and permanent. Typically this is represented by a very large random
number and is not under the user’s control in any way. In fact, from the user’s
point of view this identifier should be invisible or at the very least inert;
there should be no inherent public capabilities associated with this
identifier. For example it should not be an e-mail address,accepted as a login name, displayed as a public name, or an instant messenger
address.
Login Identifier(s)(Session Authentication)
Login identifiers are necessary create validsessions associated with an account identifier. They are the user’s method of
granting access to his privileged information on the service. Historically,
these are represented by unique and validated name/password pairs. Note that
the service need not generate its own unique namespace forlogin identifiers but may adopt identifiers from other providers. For example,
many services except external e-mail addresses as login identifiers usually
after verifying that the user is in control of that address. Increasingly, more
sophisticated capability-based identities are accepted from services such as
OpenID, oAuth, and Facebook Connect; these provide login credentials without
constantly asking a user for their name and password.
By separating the login identifier from theaccount identifier, it is much easier to allow the user to customize their
login as the situation changes. Since the account identifier need never change,
data migration issues are mitigated. Likewise, separating the login identifier
from public identifiers protects the user from those who would crack their
accounts. Lastly, a service could provide the opportunity to attach multiple
different login identifiers to a single account — thus allowing the service to
aggregate information gathered from multiple identity suppliers.
Public identifier(s)(Social Identity)
Unlike the service-required accountand login identifiers, the public identifier represents how the user wishes to
be perceived by other users on the service. Think of it like clothing or the
familar name people know you by. By definition, it does not possess the
technical requirement to be 100% unique. There are many John Smiths of the
world, thousands of them on Amazon.com, hundreds of them write reviews and
everything seems to work out fine.
Online a user’s public identifier is usually acompound object: a photo, a nickname, and perhaps age, gender, and location. It
provides sufficient information for any viewer to quickly interpret personal
context. Public identifiers are usually linked to a detailed user profile,
where further identity differentiation is available; ‘Is this the same John
Smith from New York that also wrote the review of the great Gatsby that I like
so much?’ ‘Is this the Mary Jones I went to college with?’
A sufficiently diverse service, such as Yahoo!,may wish to offer multiple public identifiers when a specific context requires
it. For example, when playing wild-west poker a user may wish to present the
public identity of a rough-and-tumble outlaw, or a saloon girl without having
that imagery associated with their movie reviews.


Перевод
Трехсторонний Шаблон Идентификации
Одна из самых непонятных моделей в проектировании социальных медиа является управление идентификацией пользователей. Дизайнеры продуктов часто путают много разных ролей, необходимых для различных идентификаторов пользователей. Эта путаница усугубляется использованием устаревших онлайн-сервисов, таких как Yahoo!, eBay и America Online, как канонических примеров. Данные сервисы организовали свои модели идентификации, исходя их сугубо технических соображений, так как тогда еще не было понимания потребностей пользователей соц. сетей. Объединив технические требования(создание сеансов, извлечение записей базы данных и т.д.) с требованиями пользователей к распознаванию и самовыражению, многие старые модели идентификации фактически препятствовали участию пользователей. Например: В компании Yahoo! обнаружили, что страх спамеров, использующих адреса электронной почты пользователей, был причиной номер один, из-за которой они отказывались от создания пользовательского контента. Например, обзоров ресторанов или публикации сообщений. В конечном итоге, это привело к очень дорогому и радикальному реинжинирингу модели идентификации Yahoo, который проходит до сих пор с 2006 года.
В итоге, я обнаружил, что трехсторонняя модель идентификации лучше подходит для большинства онлайн-сервисов и должна быть совместима с современными методами идентифицирования.
Три компонента идентификации пользователя: идентификатор аккаунта, идентификатор входа, и общедоступный идентификатор.

Идентификатор учетной записи (ключ БД)
С технической точки зрения всегда есть уникальный ключ в базе данных. Способ получить доступ к данным пользователя, чтобы ссылаться на них в файлах cookie и потенциально в URL-адресах. Вообще говоря, ключ-идентификатор - это самая важная вещь, которая есть у компании о пользователе. Он обязан быть уникальным и неизменяемым. Как правило, ключ-идентификатор генерируется большим, рандомным и уникальным числом, которое пользователь не в силах изменить. В самом деле, для пользователя номер ID должен быть невидимым. Более того идентификационный номер не может состоять из публичных данных. Например, он не должен быть адресом электронной почты, логином или датой рождения.
Идентификатор входа в систему(ы) (аутентификация сессии)
Идентификаторы входа создают сеансы, привязанные к идентификатору учётной записи. С их помощью пользователь получает доступ к своей конфиденциальной информации на сервисе. Исторически так сложилось, что идентификаторы входа - это всем известная пара логин/пароль. Обратите внимание, что этот ключ не генерируется сервером, а приходит в систему от пользователя. Например, одним из таких идентификаторов может быть e-mail почта, которая прошла верификацию. Современные технологии дают возможность создавать идентификаторы с помощью таких сервисов, как OpenID, oAuth и Facebook Connect, это позволяет предоставлять доступ к системе без постоянных запросов о пароле и логине.
Разделив идентификатор и логин, мы облегчаем жизнь пользователя, так как в этом случае ему намного проще изменить свой логин. Так как идентификатор учетной записи никогда не меняется, это значительно смягчает вопрос миграции данных. Аналогичным образом, отделяя идентификатор аккаунта от публичных данных, мы защищаем пользователей от взломов. Наконец, сервис может предоставить возможность подключить несколько разных идентификаторов входа (логин) к одной учетной записи, что позволяет службе агрегировать информацию, собранную у нескольких поставщиков идентификации.
Публичный идентификатор (Социальная идентификация)
В отличие от идентификаторов учетной записи и входа, публичный идентификатор отражает, как пользователь хочет, чтобы к нему обращались на сервисе. Воспринимайте это как одежду или имя, по которому люди вас знают. По определению, нет строгого технического требования о 100% уникальности этого ключа. В мире тысячи Джонов Смитов, которые пишут комментарии на Amazon.com, и все вроде хорошо. Сайт работает.
В Интернете публичный идентификатор - это составной объект из фотографии, никнейма, возможно, возраста, пола и локации. Такой ключ предоставляет достаточно информации, чтобы можно было быстро понять, кто автор контента. Публичные идентификаторы обычно связаны с подробным профилем пользователя, где доступны дополнительные подробности о личности; «Это тот же Джон Смит из Нью-Йорка, который также написал обзор на Великого Гэтсби, который мне так нравится?» «Это Мэри Джонс, с которой я пошел в колледж?»
Сервисы, у которых широкий спектр услуг, например Yahoo!, могут пожелать предложить несколько публичных идентификаторов, когда это требует конкретный контекст. Например, когда вы играете в покер на диком западе, пользователь может пожелать представиться жестоким ковбоем. Однако подобное описание ему не захочется публиковать на сервисах, связанных с обзорами фильмов.