Asp.net web api 为Web API选择最佳身份验证和授权选项

Asp.net web api 为Web API选择最佳身份验证和授权选项,asp.net-web-api,oauth-2.0,asp.net-web-api2,owin,jwt,Asp.net Web Api,Oauth 2.0,Asp.net Web Api2,Owin,Jwt,我们在ASP.NET MVC中有自己的现有We门户,现在我们的一位客户不希望将我们的门户作为单独的工具使用,而是希望通过WEB API使用我们的功能,并在他们这方面使用它 现在我想在WebAPI中实现身份验证和授权,我用谷歌搜索我的问题的答案,但没有得到答案 我对以下几点感到困惑 在Microsoft提供的默认实现中使用OWS是最佳选择吗?还是一些自定义实现 就安全性而言,使用OWIN的优势和劣势是什么 何时使用JWT(Json Web令牌)和OWIN 或者任何其他有助于创建更安全的web AP

我们在ASP.NET MVC中有自己的现有We门户,现在我们的一位客户不希望将我们的门户作为单独的工具使用,而是希望通过WEB API使用我们的功能,并在他们这方面使用它

现在我想在WebAPI中实现身份验证和授权,我用谷歌搜索我的问题的答案,但没有得到答案

我对以下几点感到困惑

  • 在Microsoft提供的默认实现中使用OWS是最佳选择吗?还是一些自定义实现

  • 就安全性而言,使用OWIN的优势和劣势是什么

  • 何时使用JWT(Json Web令牌)和OWIN

  • 或者任何其他有助于创建更安全的web API的实现


  • 寻找所有有价值的专家意见以帮助我做出决定。

    我实现了类似的功能。这就是我们的工作方式:我们有允许我们登录的应用程序(MVC应用程序)。登录使用一个单独的mvc项目(我们的STS),它处理所有用户身份验证。当登录名和密码正确发布后,我们将生成一个JWT,并返回到MVC应用程序。回到应用程序端,我们解码令牌并在asp.net应用程序cookie中建立其中的声明。 我们还有一个包含WebApi REST方法的单独项目。这些只能通过使用STS生成的JWT来调用。我们使用自定义属性对此进行了详细阐述,以便可以对令牌中的特定权限或角色声明设置权限

    为了创建所有这些,我使用了以下系列文章:

    就建筑而言,我认为这是“应该的”,但我不是这方面的专家

    因此,总结如下:

    • Web应用程序-用于验证/授权的应用程序cookie

    • 调用WebApi Rest方法-使用JWT进行身份验证/授权

    • 单独的STS接收POST以进行身份验证并生成JWT