【发布时间】:2014-04-03 04:48:21
【问题描述】:
我有几个当前使用访问密钥保护的 Web PI 端点。我不反对放弃这种安全模式。
现在,我们正在构建一个使用这些服务的网络应用。前端将有一个登录屏幕来保护应用程序的某些部分。我还想让 Web API 服务可供我们自己的应用程序以外的应用程序使用(想想公共 API)。
我应该如何保护我的服务并允许从我们自己的 Web UI 和作为服务进行访问?
【问题讨论】:
我有几个当前使用访问密钥保护的 Web PI 端点。我不反对放弃这种安全模式。
现在,我们正在构建一个使用这些服务的网络应用。前端将有一个登录屏幕来保护应用程序的某些部分。我还想让 Web API 服务可供我们自己的应用程序以外的应用程序使用(想想公共 API)。
我应该如何保护我的服务并允许从我们自己的 Web UI 和作为服务进行访问?
【问题讨论】:
有很多方法可以保护 Web API 2.0 端点。
您似乎已经使用访问密钥保护了您的端点,但不知道您的客户端是如何知道访问密钥的。
对于您的网络应用,我会问:
用户如何按照您的描述登录?他们向什么机构提供凭证?您可以使用该权限将令牌附加到您的 Web 服务的请求吗?
您提到您还希望通过公共 api 提供公共访问。他们将拥有什么证书?他们将向哪个机构请求访问权限?您可以使用不同类型的凭据进行多种设置,例如用户名和密码/客户端证书/访问密钥。
微软有一些非常好的资源,包括:
http://channel9.msdn.com/Shows/Web+Camps+TV/Securing-ASPNET-Web-APIs
【讨论】: