我们的网站使用外部身份验证提供商DocCheck来验证和识别联系人。我们使用DocCheck ID作为请求参数" uniquekey"作为联系人标识符,以便可以重新识别联系人在登录其他设备时的状态。然后,这些用户通过虚拟用户在Sitecore中进行身份验证。
/**
* @return {{a: string, b: number}}
*/
function MyOtherFunc() {
return { a:'for eg string', b:12 }
}
除此之外,我们还计划通过注册,登录等方式进行自己的用户管理。用户将通过电子邮件地址和密码登录。现在,电子邮件地址应该用作另一个标识符,以使用这些凭据识别联系人登录。
然后,用户应该能够将DocCheck和我们自己的登录信息用于我们网站的不同部分,以便我们拥有DocCheck联系人和我们自己的用户。
是否可以将这两个标识符组合成一个联系人?
谢谢你,亲切的问候
的Torsten
答案 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