Как использовать более одного типа идентификатора для идентификации контакта?
Наш веб-сайт использует DocCheck, внешний поставщик аутентификации, для аутентификации и идентификации контактов. Мы используем DocCheck ID, который поставляется в качестве параметра запроса "uniquekey", в качестве идентификатора контакта, так что контакт при входе в систему на другом устройстве может быть повторно идентифицирован. Эти пользователи затем проходят аутентификацию в Sitecore через виртуального пользователя.
Tracker.Current.CurrentPage.Session.Identify(Page.Request.QueryString["uniquekey"]);
В дополнение к этому мы планируем собственное управление пользователями с регистрацией, входом в систему и т. Д. Пользователи будут входить через адрес электронной почты и пароль. Адрес электронной почты теперь должен использоваться в качестве другого идентификатора для идентификации контактов входа в систему с этими учетными данными.
Затем пользователи должны иметь возможность использовать DocCheck и наш собственный логин для различных частей нашего веб-сайта, чтобы у нас были контакты DocCheck и наши собственные пользователи.
Можно ли объединить эти два идентификатора в один контакт?
Спасибо и всего наилучшего
Торстен
1 ответ
На данный момент вы можете использовать только одно значение для идентификации пользователя в xDB. Это может измениться в будущем, но пока вы можете использовать только один.
xDB - это просто база данных mongo, так как насчет сохранения дополнительной коллекции, которая содержит связь между идентификаторами. Примером может быть:
CustomContact
- _id: the xDB identifier
- alternativeIdentifiers: [docCheckId, formsAuthId, etc] - if this is indexed the lookup will be quick
Затем, когда вы приходите, чтобы идентифицировать пользователя, которого вы ищете в своей пользовательской коллекции, ваш идентификатор, найдите фактический идентификатор xDB и затем идентифицируйте себя с этим.
Чтобы найти элемент в массиве, посмотрите на elemMatch или на: https://docs.mongodb.org/manual/reference/operator/projection/elemMatch/ и некоторые примеры на /questions/22329860/najti-dokument-s-massivom-kotoryij-soderzhit-opredelennoe-znachenie/22329864#22329864