4

我们正在开发一个 API 和一个单页应用程序(这是它未来更多可能的消费者之一)。

我们已经开始使用 Web API,并且基本上实现了一个非常类似于 John Papa 在其关于复数视图的课程中制作的系统,名为“使用 HTML5、ASP.NET Web API、Knockout 和 jQuery 构建单页应用程序 (SPA)”。

我们现在需要在这个应用程序中实现身份验证和用户管理,并且需要尽快找到简单的方法来实现这一点,因为我们很着急。

我们意识到 ASP.NET 更新中包含的 SPA 模板具有与我们的需求非常相似的功能,但我们想知道在现有代码中实现类似功能的最佳方法是什么。

正如您所想,我们是新手开发人员。

是否可以使用包管理器安装一些包,瞧,一个简单的成员资格和 OAuth 身份验证选项很容易获得?

我们的用例是,我们需要根据角色保护 API 上的一些资源,并且应该能够使用用户名和密码登录,还可以使用 Facebook、google 或 twitter 帐户登录。

4

3 回答 3

3

在此处找到有关该主题的有趣讨论:https : //vimeo.com/43603474,名为 Dominick Baier - 保护 ASP.NET Web API。

概要:Microsoft 用于编写 RESTful Web 服务和 Web API 的新框架被称为 ASP.NET Web API 非常恰当。顾名思义,这项技术是 ASP.NET 的一部分,也继承了其著名的安全架构。但除此之外,它还支持许多新的扩展点和 IIS 之外的灵活托管基础架构。有许多方法可以在 Web API 中进行身份验证和授权 - 从 Windows 到用户名和密码,再到基于令牌的身份验证以及介于两者之间的所有内容。本演讲探讨了各种选项,并特别关注声明、SAML、OAuth2、简单 Web 令牌和委托等技术。

于 2013-02-21T18:41:11.523 回答
3

我们最终选择了 SPA 模板,对 API 进行身份验证(单独的 MVC 部分)。然后 API 会生成一个唯一的令牌,并使用 url 参数中的令牌将用户重定向到前端。

然后前端需要在每个后续请求中发送此令牌。

于 2013-06-04T00:17:27.433 回答
0

看看这里- 由安全专家完成的身份服务器。这就是你在一个包中所需要的。

就 OAuth 而言,您需要使用客户端 Web 应用程序流,访问令牌会立即发给客户端并且可以使用。

于 2013-02-20T14:05:48.477 回答