如何使用多种类型的标识符进行联系人识别?

时间:2016-02-08 13:29:15

标签: sitecore sitecore8 sitecore-xdb

我们的网站使用外部身份验证提供商DocCheck来验证和识别联系人。我们使用DocCheck ID作为请求参数" uniquekey"作为联系人标识符,以便可以重新识别联系人在登录其他设备时的状态。然后,这些用户通过虚拟用户在Sitecore中进行身份验证。

/**
 * @return {{a: string, b: number}}
 */
function MyOtherFunc() {
    return { a:'for eg string', b:12 }
}

除此之外,我们还计划通过注册,登录等方式进行自己的用户管理。用户将通过电子邮件地址和密码登录。现在,电子邮件地址应该用作另一个标识符,以使用这些凭据识别联系人登录。

然后,用户应该能够将DocCheck和我们自己的登录信息用于我们网站的不同部分,以便我们拥有DocCheck联系人和我们自己的用户。

是否可以将这两个标识符组合成一个联系人?

谢谢你,亲切的问候

的Torsten

1 个答案:

答案 0 :(得分:2)

目前,您只能使用单个值来标识xDB中的用户。这可能会在将来发生变化,但是现在你只能使用一个。

xDB只是一个mongo数据库,所以如何持久化包含标识符之间关系的其他集合。一个例子是:

CustomContact
- _id: the xDB identifier
- alternativeIdentifiers: [docCheckId, formsAuthId, etc] - if this is indexed the lookup will be quick

然后,当您确定在自定义集合中查找用户标识符的用户时,请找到实际的xDB ID,然后识别该标识符。

要查找数组中的项目,请查看 elemMatch 中的https://docs.mongodb.org/manual/reference/operator/projection/elemMatch/ 和一些例子 https://stackoverflow.com/a/18149149/1065332