我有一个 WinRT 应用程序,它将与我的服务器上的 WebAPI 服务进行交互,该服务由实体框架管理的 SQL 数据库 (MVC - ASP.NET) 支持。为了安全起见,我只允许在 WinRT 端使用 Microsoft Live Connect SDK 进行身份验证的用户与 WebAPI 服务进行交互。我已经有了在 WinRT 应用端使用 Live Connect SDK 进行身份验证的登录代码。WebAPI 服务在我的 Azure 托管服务器上运行的 MVC Web 角色的上下文中运行。
我在 StackOverflow 上做了很多阅读,并且有大量关于身份验证、OData、OAuth、Azure 移动服务、WebAPI 以及如何组合它们的主题的文档:
用于 Azure 移动服务 (REST) 的 Live Connect 身份验证令牌
我非常担心我选择的工具/路径只实现了我需要以安全的方式实现上述场景。我主要的攻击问题是未经身份验证的用户试图访问 ApiController 并执行有害的 Puts 或 Deletes。一些问题:
我是否需要 Azure 移动服务?
我需要使用哪些工具或进行配置更改来管理/传递 WinRT 应用程序和服务之间的 Live Connect 令牌?
是否有我应该使用的模板或 NuGet 包来自动化大部分操作?
是否有一份文件可以解决我的情况或与之接近的情况?
实体框架中是否有内置的东西可以提供帮助,或者相反有我需要解决的漏洞?如果是这样,是什么?
我需要对服务器配置 (web.config) 进行哪些更改?