【问题标题】:ASP.NET authentication for custom API自定义 API 的 ASP.NET 身份验证
【发布时间】:2015-07-08 18:47:04
【问题描述】:

我知道这是一个很好讨论的话题,但我正在努力为我的案例寻找解决方案。

我在ASP.NET (c# 4.5.1) 中完成了一个已经在工作的API 服务。我的客户使用 php pages 在我的服务器上调用 page.aspx 并通过 POST 发送一个字符串。此字符串包含 ID 和密码消息。每个用户都有一个不同的密钥(AES 256),并且由于我有 ID,我从我的数据库中获得了正确的密钥来解密消息并执行其请求包含的内容。我还检查了IP,每个客户端只有一个批准的IP列表(当他们不使用调试模式进行测试时)

我喜欢这种方法,但现在我必须让我的用户进行一些购买。我已经实现了它(感谢 PayPal)并且它可以工作,但我觉得我的安全性

所以我想添加一些已经知道已经封装的身份验证系统,无需重写任何已经工作和调试过的代码.

由于被许多大型互联网服务使用,我想到了OAuth 2.0我对此一无所知),但看起来每个谈论它的人都是为了创建使用服务的登录喜欢 Facebook、Google、Twitter 并继续……不是我的情况。我有我自己的数据库我的用户列表,我需要 100% 安全地知道谁在调用我的 API 服务。

我尝试创建一个新的 Web API 2 项目(MVC.. 该死),但我不明白我是否可以在不重写 API 调用逻辑的情况下使用我的服务(从我看到的情况来看,强>是答案)

所以问题是:我可以使用什么身份验证方法,易于实现,而无需重写已经工作的代码,并且可以从具有 PHP 的客户端使用

【问题讨论】:

  • 所有的粗体是怎么回事...

标签: php authentication asp.net-web-api


【解决方案1】:

我正在观看 Scott Allen 的 Pluralsight 上的“ASP.NET MVC 5 Fundamentals”教程,他很好地解释了它。但是在观看该教程之前,对于我开发的一个应用程序,我们在数据库中有一个表,其中包含登录时出现的令牌。然后客户端将随他们的请求一起发送令牌。在服务器端,我做了一个名为 [CheckToken] 的自定义属性,在其中我将检查令牌是否存在于数据库中以及它是否仍然有效(未过期等)我更进一步,有时交换令牌以便即使令牌被盗,它也不会长期有效。这样,用户就不必一直保持登录状态。

【讨论】:

    猜你喜欢
    • 2016-05-06
    • 2018-03-15
    • 2014-05-21
    • 1970-01-01
    • 2015-03-22
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多