使用 Azure 服务的具有身份验证、授权和持久层的 Xamarin 应用程序

Posted

技术标签:

【中文标题】使用 Azure 服务的具有身份验证、授权和持久层的 Xamarin 应用程序【英文标题】:Xamarin App with Authentication, Authorization and persistance layer using Azure Services 【发布时间】:2020-06-07 21:46:32 【问题描述】:

我在基于云的服务方面没有经验,因此我不知道我可以使用 Azure 有什么好处。

我的计划是制作一个 Xamarin.Forms 应用程序,该应用程序具有登录具有特定角色的用户以授权应用程序中的多项操作的功能。

此外,应用应该有一个持久层来加载已经存在的数据。我发现 Azure CosmosDB 是一项很好的服务。

我可以使用哪些 Azure 服务进行身份验证和授权?如何将这两个服务结合在一起?

提前感谢您的帮助。

【问题讨论】:

嗨,我的回答对你有帮助吗? 【参考方案1】:

看来你想实现cosmos db数据的安全访问,我有2个场景供你参考:

1.使用资源令牌控制对cosmos db的访问:众所周知,我们可以使用账户的主密钥,您可以为每个数据库创建用户资源和权限资源。资源令牌与数据库中的权限相关联,并确定用户是否有权访问(读写、只读或无访问权限)数据库中的应用程序资源。应用程序资源包括容器、文档、附件、存储过程、触发器和 UDF。然后在身份验证期间使用资源令牌来提供或拒绝对资源的访问。

您可以从此链接获得更多详细信息:https://docs.microsoft.com/en-us/azure/cosmos-db/secure-access-to-data

2.使用访问控制(IAM):

IAM 提供基于角色的访问控制并与 Active Directory 集成。您可以为个人和组使用内置角色或自定义角色。即,您可以将所有APP用户集成到AD中,将他们分组并授予每个组权限。更多详细信息,请参阅此链接:https://docs.microsoft.com/en-us/azure/cosmos-db/role-based-access-control

【讨论】:

嗨,很抱歉这么晚才回复。因为这是一个私人项目,我没有太多时间检查这是否是我需要的。我现在检查了您的答案,并认为第二种方法适合我的应用程序。但我仍然不确定如何创建用户并确保用户使用保存在 AD 中的帐户登录。我想我必须阅读更多关于它的信息。如果还有其他小费可以给我,将不胜感激!

以上是关于使用 Azure 服务的具有身份验证、授权和持久层的 Xamarin 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

AAD B2C 中具有客户端凭据授予流的 Azure 应用服务轻松身份验证

Azure - 使用服务主体对 Key Vault 进行身份验证返回未经授权的异常

如何使用 Azure API 管理设计微服务架构中的身份验证和授权策略?

如何使用应用服务对 Azure Functions 应用进行身份验证/授权?

Azure API 管理 - 与底层服务进行身份验证和授权同步

Azure 服务器未能对请求进行身份验证。确保授权标头的值格式正确,包括签名