2014-10-16 2 views
1

Предположим, что новый пользователь регистрируется сегодня на моем веб-сайте сегодня с идентификатором Gmail и получает учетную запись, созданную в OpenAM с именем пользователя как Gmail-id. Допустим, в будущем тот же пользователь будет использовать учетную запись facebook для входа на мой сайт. Принимая это как должное, я знаю, что пользователь зарегистрировался на веб-сайте с помощью Gmail раньше, и я точно знаю его/ее идентификатор Gmail.OpenAm Управление несколькими учетными данными пользователя для одного и того же пользователя

Возможно ли, что я могу связать оба учетных данных пользователя с одной учетной записью OpenAM без создания новой учетной записи?

Какие могут быть другие альтернативы?

+0

Я бы сказал, что вам нужно изменить регистрационный код (или лучше создать собственную регистрацию) и добавить идентификатор учетной записи facebook в качестве атрибута для идентификации пользователя). В аутентификации вы можете использовать оба идентификатора для поиска идентичности. –

ответ

0

Я собираюсь предположить, что когда вы говорите «Gmail-id», вы имеете в виду адрес электронной почты. Google также имеет концепцию числового идентификатора, который в этом случае не был бы конструктивным.

Чтобы установить это, вам понадобится два модуля OAuth 2 для каждого из Google и Facebook, с соответствующими областями, которым будет задан адрес электронной почты в профиле пользователя, и вам нужно будет настроить сопоставление учетной записи для сопоставьте адрес электронной почты от каждого из Google и Facebook к атрибуту mail, и тогда сопоставление атрибутов будет иметь одинаковое сопоставление (а также другие соответствующие сопоставления для получения имени пользователя и т. д.).

Это означает, что когда пользователь вернется в OpenAM, учетная запись с почтой = [электронная почта от Google/Facebook] будет искать и, если она будет найдена, используется. Если не найден, будет создана учетная запись с этим адресом электронной почты и будет использоваться в будущем.

Очевидно, вам нужно будет решить, что вы доверяете, что адрес электронной почты, предоставленный Facebook, представляет собой идентификатор, который вы имеете от GMail, но похоже, что вы довольны этим.