【问题标题】:How to use Asp.net MVC Core with Asp.net Identity Core and WebAPi Core?如何将 Asp.net MVC Core 与 Asp.net Identity Core 和 WebAPi Core 一起使用?
【发布时间】:2019-11-02 21:51:15
【问题描述】:

我将使用 Dot Net Core 创建一个 Web 应用程序。将来,我还将为同一应用程序创建移动应用程序。现在,我正在考虑项目的架构。我想通过 Asp.net Identity Core 使用 WEB API 核心。另外,我将在 MVC Core 应用程序中使用 WEB API。但我想到的问题是如何使用 MVC 和 WEB API 处理 ASP.net 身份?我需要包含在 MVC 中还是只包含在 WEB API 中?

我努力思考,但仍然感到困惑。需要建议。

【问题讨论】:

    标签: asp.net-mvc asp.net-core asp.net-web-api asp.net-core-mvc


    【解决方案1】:

    您可以使用基于令牌的身份验证。

    在资源所有者流场景中,您的客户端应用程序(mvc 应用程序/本机应用程序)将通过提供用户的凭据来使用您的 web api,web api 将验证数据库中的凭据(使用 ASP.NET Core 标识),如果用户名和密码正确,则返回 JWT 身份验证令牌和用户详细信息。您的客户端应用程序可以验证令牌并登录用户:

    ASP.NET Core 2.2 - JWT Authentication Tutorial with Example API Tutorial built with

    Token Authentication in ASP.NET Core 2.0 - A Complete Guide

    此外,当您想要推出自己的成熟 OpenID Connect 授权服务器以处理联合和单点登录等复杂用例时,IdentityServer4 是一个不错的选择。

    【讨论】:

      【解决方案2】:

      所以你的问题对于 Stackoverflow 来说可能有点开放,而且你并没有真正展示你到目前为止所做的尝试。

      不过我会尽量回答。首先,您只需从项目的模板开始。启动一个 MVC 项目,您也可以在其中轻松拥有 API 端点。为了清楚起见,我建议将它们分成两个项目 - 但如果它只是一个小型个人项目,那么你可能会很好地将它们放在同一个项目中。微软在 MVC 上有很好的资源:

      Microsoft MVC walkthrough

      对于身份部分。您需要某种权限才能使其正常工作。我建议你看看 IdentityServer4。其中提供了如何设置以及如何将其与 Asp.NET Core Identity 集成的出色演练:

      IdentityServer4

      【讨论】:

        猜你喜欢
        • 2019-08-30
        • 2017-03-28
        • 2017-08-31
        • 1970-01-01
        • 2021-12-20
        • 2017-06-26
        • 2017-04-04
        • 1970-01-01
        • 2019-07-19
        相关资源
        最近更新 更多