如何保护ASP.NET Web API(两个应用程序之间的身份验证)

时间:2019-07-02 14:10:31

标签: c# asp.net asp.net-web-api asp.net-apicontroller

我需要在ASP.NET Web API中对我的REST API进行用户身份验证。我不确定该怎么做,因为这将是从一个应用程序到另一个应用程序,但是我无法控制一个应用程序或其用户,但是我需要对其用户进行身份验证以确保没有其他人可以访问。 >

详细信息

应用程序A 需要能够在单独的窗口/选项卡中打开应用程序B 并执行某些功能,并期望结果返回到应用程序A

应用程序B 可能会或可能不会在单独的Web服务器上运行,并且将无法访问应用程序A 的用户数据库,并且将无法直接进行身份验证/以任何传统意义授权用户。 (至少我不知道,因此为什么在这里问。)

我已启用CORS并将Access-Control-Allow-Origin标头设置为应用程序A的域/ IP地址,但是我不确定这是否真的安全,并且我认为考虑到POSTMAN似乎可行,很容易克服它无论哪种方式。

现在,应用程序A将用户ID发送到API,然后生成一个“令牌”,该令牌只是一个包含用户ID和经过AESThenHMAC加密的时间戳的JSON字符串,然后将其返回。然后,应用程序A在向应用程序B发送请求时使用了该请求。(我认为)阻止未经授权的用户访问API的唯一原因是CORS,但我不知道这是否实际上限制了任何事情。

我一直在搜索,但是我发现的所有内容似乎都在详细说明如何直接对用户进行身份验证。我认为稍有帮助或指导会大有帮助。

0 个答案:

没有答案