我有一个 .Net Classic Web 应用程序。我们正在改造整个系统,前端正在被剥离并转移到另一个框架。该应用程序的某些元素将保留,稍后将移植到 .NET Core。
因此,我需要向应用程序添加一些 API 端点。我宁愿将工作的 MSAL 身份验证保留在应用程序中,以便将来我可以拥有一些前端调试工具。但我希望 API 端点使用(理想情况下)OAuth。
有人可以为我指出一些有关我的身份验证场景的文档吗?目前该文档已经有很多年历史了,所以我在为这个场景挖掘一些东西时遇到了困难。
因为我们的用例涉及两个相互发送消息的内部服务,所以我们选择使用 Hmac 对每条消息进行签名。在消息签名、https 和单独的 IP 白名单之间,我们认为这对于我们的用例来说已经足够安全了。
Hmac 的工作原理大致是这样的:
在发送端创建消息签名;
在授权标头中传输签名、Guid 和时间戳。
在接收端根据相同的数据创建一个哈希,并将您创建的哈希与您收到的哈希进行比较;
听起来您需要实现 OAuthAuthorizationServerProvider 类 https://learn.microsoft.com/en-us/previous-versions/aspnet/dn308227(v=vs.113)