我正面临着一个有趣的挑战,因为我正在设置一个全新的Azure移动应用实例,该实例连接到在生产环境中运行的现有Azure移动服务的现有数据库。
使用AMS在生产中运行的应用程序具有Microsoft帐户身份验证,我们使用context.userid
字段过滤用户数据服务器端。此字段看起来像MicrosoftAccount:abcdef...
。
在设置具有Microsoft身份验证支持的新Azure移动应用程序之后,我获得了不同的userId,例如sid:ABC ...
使用该文档,我可以使用getIdentity()
api获取有关用户身份的更多详细信息:
context.user.getIdentity().then((data) => { });
但我仍然无法找到" old"在AMS世界中使用的UserId ...因此我无法在现有数据和新应用之间建立链接。
有什么想法吗?
答案 0 :(得分:0)
我想知道context.userid
是否真正意味着电子邮件地址。
但是,您可以使用以下内容获取登录用户的帐户电子邮件。
context.user.getIdentity().then(function (userInfo) {
var userId = userInfo.aad.claims.emailaddress;
});