【发布时间】:2020-10-21 02:40:36
【问题描述】:
我有一个连接到网站 (ASP.NET MVC) 的移动应用程序 (Xamarin Android & iOS)。移动应用程序的一些内容(文件和图像)来自当前启用了公共读取访问权限的 Azure Blob 存储。
我正在为应用程序构建一个身份验证模块(OAuth,带有用户名/密码)。是否有可能以某种方式在我的 Azure Blob 帐户中构建身份验证,以便用户只能访问其特定文件?我知道我可以将网站用作中介(即用户验证并连接到网站,网站连接到 azure 并检索数据并将其返回到应用程序),但这会增加额外的延迟步骤,而不是仅连接到 Azure直接使用 Blob。
我看到 Azure Blob 支持共享访问签名 (SAS) 令牌。是否可以仅为与该用户相关的文件子集生成 SAS 令牌?我想工作流程是:
- 移动应用通过网站 api 进行身份验证
- 网站为 blob 访问生成并返回 SAS 令牌
- 移动应用直接使用 SAS 令牌连接到 azure blob。
这会是个好主意吗?还有其他建议吗?
【问题讨论】: