我想在Azure上托管一个MVC 4 Web API项目。我需要确保可以从任何第三方应用程序和任何浏览器访问API。实现一个简单地返回JSON的RESTful API听起来像是个好主意。现在,我面临的最大挑战是创建一个平台不可知的认证机制。我不想使用默认的MembershipProvider。我将使用SSL。我也不会使用FormsAuthentication。所有的API调用都将通过JQuery/AJAX进行。身份验证令牌在客户端存储在哪里?
我想了解基于令牌的身份验证。以下是我认为我可以做到的事情: - 客户端通过HTTPS将其用户凭据发送到服务器 - 服务器对客户端进行身份验证,创建令牌并将其保存到DB以及日期时间戳和过期期限,并将其发送回到客户端 - 客户端每次访问API时都会将令牌发送给服务器
现在,我不明白的部分是,客户端在哪里存储令牌?它保存在cookie中吗?如果是这样,非浏览器第三方应用程序在哪里保存身份验证令牌?令牌多么容易被盗?