Asp.net core 我们如何在同一个项目(端口)中集成identityserver4和web api,而不是为每个项目创建不同的项目?

Asp.net core 我们如何在同一个项目(端口)中集成identityserver4和web api,而不是为每个项目创建不同的项目?,asp.net-core,oauth-2.0,identityserver4,asp.net-core-webapi,Asp.net Core,Oauth 2.0,Identityserver4,Asp.net Core Webapi,无法在同一项目中配置identityserver 4授权和承载令牌身份验证中间件。您不应该这样做 问题是您的身份验证和应用程序是完全不同的服务,具有不同的作用域,您应该使它们有所不同 这与关注点的分离是一致的:如果你想在以后更改身份验证服务,你不必修改整个应用程序。我建议你在单独的应用程序中创建API和Identity Server。这使得它更容易维护 Identity server为您提供针对客户端/API的身份验证。数据库操作、业务逻辑应由客户机/API处理。因此,将它们放在不同的应用程序中

无法在同一项目中配置identityserver 4授权和承载令牌身份验证中间件。

您不应该这样做

问题是您的身份验证和应用程序是完全不同的服务,具有不同的作用域,您应该使它们有所不同


这与关注点的分离是一致的:如果你想在以后更改身份验证服务,你不必修改整个应用程序。

我建议你在单独的应用程序中创建API和Identity Server。这使得它更容易维护

Identity server为您提供针对客户端/API的身份验证。数据库操作、业务逻辑应由客户机/API处理。因此,将它们放在不同的应用程序中应该是更好的选择


如果您坚持在单个项目中创建它们,您可以单击和获取代码示例。

它现在是Identityserver的内置功能。加上公关

services.AddLocalApiAuthentication();

是受保护API的官方示例。

这个问题有什么错?标题还是正文?您真正想要结合的是什么?第二个是明确的——它是承载令牌身份验证中间件,但第一个是什么?是identityserver中间件
services.AddIdentityServer()
,还是仅用于identityserver
services.AddAuthentication.AddOpenIdConnect(options=>{//options for idsrv auth})
以保护MVC应用程序?