【问题标题】:Adding Security to .NET Web API为 .NET Web API 添加安全性
【发布时间】:2016-11-12 02:56:37
【问题描述】:

简而言之,为将与移动应用程序(Android/iOS/WinPhone 通过 Xamarin.Forms)和网站(未知此刻写的是什么)? Web API 在开始时将仅包含读取/SELECT 方法,但未来很可能还会包含几个写入/INSERT 方法。

我在一个工作项目中使用了一点 OAuth;这足以保护 Web API 站点吗?如果是这样,有人可以简单地概括一下,我应该采取哪些步骤来实施它?

顺便说一句,Web API 将连接到现有数据库,并且添加几个新表以确保安全应该没有问题(我假设这是必需的)。

我想这就是我能想到的所有相关信息。非常感谢您提供的任何帮助。不幸的是,我的安全性不是很强,因为我的工作项目并没有像现在这样公开。

【问题讨论】:

  • 如果我今天这样做,我会使用 thinktecture identityserver 和身份重启。原来的方式有点麻烦。教程以深思熟虑的方式介绍了这些步骤,示例项目将让您知道它是否满足您的需求。 identityserver.github.io/Documentation/docsv2
  • 肯定 identityserver 是要走的路,但是这篇文章帮助 bitoftech.net/2014/06/01/… 理解底层实现。

标签: security asp.net-web-api oauth-2.0 asp.net-web-api2 xamarin.forms


【解决方案1】:

您需要查看 Thinktecture IdentityServer3。

它非常适合您的目标。

您基本上需要一个端点,所有客户端(您的不同应用程序)都可以从中请求访问令牌,然后与您的 Web api 对话。

IdentityServer3 的美妙之处在于您可以单独配置每个客户端应用程序以与令牌服务器通信。

我不会撒谎,一开始我发现它的学习曲线相当不错,但非常值得。

如果您可以使用复数视力,那里有一个很棒的课程,可以带您了解 OpenId 和访问令牌安全性,并使用 IdentityServer3 实现它。

还有很多关于 Brock Allen 或 Dominic Baier 的视频,带您了解 IdentityServer3 中间件。

【讨论】:

  • 感谢您的建议。看起来 IdentityServer3 是我正在寻找的方法。你知道它是否容易托管?我正在为其做 Web API 和移动应用程序的客户端有一个由 IIS 托管的 ASP 网站;你认为可以托管这个(我知道 IIS 可以托管 Web API)IdentSvr3?
  • 很容易托管,它的中间件,你可以把它托管在IIS里。你需要开始学习这些东西的旅程,你会清楚地知道你需要做什么。
  • 优秀。谢谢你的回答德里克。我已经开始研究 IS3,看起来会很棒;我只需要先学会这一切!
猜你喜欢
  • 2019-03-24
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-03
相关资源
最近更新 更多