将Azure移动服务迁移到Azure移动应用程序:UserId已更改

时间:2016-12-18 19:32:45

标签: azure azure-mobile-services

我正面临着一个有趣的挑战,因为我正在设置一个全新的Azure移动应用实例,该实例连接到在生产环境中运行的现有Azure移动服务的现有数据库。

使用AMS在生产中运行的应用程序具有Microsoft帐户身份验证,我们使用context.userid字段过滤用户数据服务器端。此字段看起来像MicrosoftAccount:abcdef...

在设置具有Microsoft身份验证支持的新Azure移动应用程序之后,我获得了不同的userId,例如sid:ABC ...

使用该文档,我可以使用getIdentity() api获取有关用户身份的更多详细信息:

context.user.getIdentity().then((data) => { });

但我仍然无法找到" old"在AMS世界中使用的UserId ...因此我无法在现有数据和新应用之间建立链接。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我想知道context.userid是否真正意味着电子邮件地址。 但是,您可以使用以下内容获取登录用户的帐户电子邮件。

context.user.getIdentity().then(function (userInfo) {
    var userId = userInfo.aad.claims.emailaddress;
});