0

我有 2 个项目一个 mvc5 和 webapi。我想从纯客户端庄园调用 api,即使我使用 mvc(我正在减慢尝试将旧代码迁移到类似 spa 的应用程序仍然能够维护当前代码库的速度)。

api 的 url 位于主域下,例如 subdomain.mydomain.com/api,所以我不必担心 jsonp 或跨域的东西。

如何保护 api。当用户登录到 mvc5 应用程序时,我是否认为有某种我可以访问的密钥或令牌。我将它存储在站点上的某个位置并将其添加到请求标头中?

如果我遵循这种方法,我如何在 api 端验证令牌。读取标题的动作过滤器?还是有更清洁的方法。

我真正能找到的关于使用 api 的唯一信息是使用基本身份验证,这是我真的不想做的事情。

4

1 回答 1

0

我认为一个很好的简单(ish)方法是使用基于令牌的方法。所以客户端验证一次,你给他们一个令牌,然后后续请求传递令牌,服务器检查它。

它确实需要一些自定义代码,但我已经看到了一些很好的例子。这是我松散地遵循的一个:http: //www.codeproject.com/Articles/630986/Cross-Platform-Authentication-With-ASP-NET-Web-API

它强制执行 HTTPS,然后执行令牌生成和验证。

于 2014-02-13T05:42:11.360 回答