【发布时间】:2013-04-15 16:33:57
【问题描述】:
我正在使用 ASP.net Web API 实现一个 API,我正在尝试在我的场景中找到合适的身份验证替代方案,如下所示:
- 应该可以从移动客户端访问 API
- 移动客户端用户不应登录,客户端是本机应用程序
- API 使用由设备 ID 和用户 ID 组成的凭据进行授权,通过其他方式在应用程序中获取,有效凭据存储在 sql 数据库中
- 客户端不应存储静态凭据
- API 管理敏感数据并且应该是安全的
所以我探索了一些选项,发现通过 SSL 进行基本身份验证就足够了,但有些人说这可能还不够,基于声明的解决方案就足够了。
然后我探索了 Azure ACS,我发现它有一些优势,但对于我的场景来说可能过于复杂?我仍然应该像基本身份验证一样创建一个身份提供者。样本流程(第二种方式):http://msdn.microsoft.com/en-us/library/gg429784.aspx
你怎么看?
谢谢
更新:
我一直在考虑使用 DotNetOpenOauth 的实现并使用资源所有者密码授予,这样我就可以第一次使用设备 ID 和用户 ID 来获取访问令牌而不存储凭据,服务器可以授权基于调用者在调用它的设备上,这是正确的吗?
【问题讨论】:
标签: authentication azure asp.net-web-api