如何将 Asp.net MVC Core与 Asp.net Identity Core和WebAPi Core一起使用



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

我试图认真思考,但仍然感到困惑。需要建议。

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

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

ASP.NET 核心 2.2 - JWT 身份验证教程与示例 API构建的教程

ASP.NET 核心 2.0 中的令牌身份验证 - 完整指南

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

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

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

Microsoft MVC 演练

对于身份部分。你需要某种权威才能让它工作。我建议你看看IdentityServer4。这提供了有关如何设置它以及如何将其与核心标识集成 Asp.NET 出色的演练:

身份服务器4

最新更新