使用 .Net Classic MVC 5 Web 应用程序验证 API 端点

问题描述 投票:0回答:2

我有一个 .Net Classic Web 应用程序。我们正在改造整个系统,前端正在被剥离并转移到另一个框架。该应用程序的某些元素将保留,稍后将移植到 .NET Core。

因此,我需要向应用程序添加一些 API 端点。我宁愿将工作的 MSAL 身份验证保留在应用程序中,以便将来我可以拥有一些前端调试工具。但我希望 API 端点使用(理想情况下)OAuth。

有人可以为我指出一些有关我的身份验证场景的文档吗?目前该文档已经有很多年历史了,所以我在为这个场景挖掘一些东西时遇到了困难。

.net asp.net-mvc-5
2个回答
0
投票

因为我们的用例涉及两个相互发送消息的内部服务,所以我们选择使用 Hmac 对每条消息进行签名。在消息签名、https 和单独的 IP 白名单之间,我们认为这对于我们的用例来说已经足够安全了。

Hmac 的工作原理大致是这样的:

在发送端创建消息签名;

  • 添加 Guid(nonce)、时间戳和消息内容来签名原始数据。
  • 使用预共享密钥实例化 Hmac。
  • 生成代表您签名的哈希值

在授权标头中传输签名、Guid 和时间戳。

在接收端根据相同的数据创建一个哈希,并将您创建的哈希与您收到的哈希进行比较;

  • 使用与上述相同的步骤生成哈希,但这一次,将该哈希与授权标头中的签名进行比较。如果签名完全相同,则您的消息是真实的。

-1
投票

听起来您需要实现 OAuthAuthorizationServerProvider 类 https://learn.microsoft.com/en-us/previous-versions/aspnet/dn308227(v=vs.113)

© www.soinside.com 2019 - 2024. All rights reserved.