Azure 移动应用服务安全

Azure Mobile App Service Security

我一直在研究 Azure 移动应用服务,但我很害怕,因为我认为我完全错了。

我有一个 Azure 移动应用程序服务,问题是我正在尝试为其实施 "custom" 身份验证(自定义身份验证的原因是我有一个网络应用程序和网络 API 使用相同的数据库并向移动服务应用程序发送 REST 请求以更新数据库,并且它们都使用 asp.net 身份)

但是在我在移动应用程序服务中实现自定义身份验证之前,我无法理解即使身份验证是自定义的并且我正在手动检查用户,一旦生成令牌并且用户获得授权,用户可以访问 table 中的所有数据。因此,如果我是 user1 并登录,移动应用程序服务将对我进行身份验证,一旦我拥有身份验证令牌,我就可以简单地执行 REST 请求以对所有数据执行任何操作。

如何限制生成的令牌仅用于 CRID 用户的数据,在我的 table 我也有 UserId 列。

我很困惑。任何帮助将不胜感激。

How do I restrict that the generated token is only used to CRID only that user's data where in my table I have UserId column also.

据我了解,您可以按照 Per-User Data 并利用以下 属性 从传入的 Easy Auth 令牌中检索当前用户 ID:

public string UserId
{
    get
    {
        var principal = this.User as ClaimsPrincipal;
        return principal.FindFirst(ClaimTypes.NameIdentifier).Value;
    }
}

有关处理需要限制为生成令牌的用户的CURD操作的完整教程,您可以关注Data Projection and Queries