我有一个托管在Azure上、有许多注册用户的ASP.NET Core项目。我想创建一个移动应用程序,需要一个API来提供对相同用户帐户和身份系统的访问。我发现IdentityServer可以帮助解决这个问题,但我仍然不知道如何在同一项目中使用identityserver和WebAPI,因为我想为WebAPI创建一个新项目,并允许移动客户端使用存储在数据库中的相同凭据进行身份验证。谢谢 :)
在这种情况下,我认为没有必要将API(资源)和Identity Server放在同一个项目中,您可以将它们放在不同的项目中。为了配置Identity Server 4与您现有的用户存储一起工作,我认为您需要实现IProfileService - http://docs.identityserver.io/en/release/quickstarts/3_interactive_login.html?highlight=IProfileService%20底部的简短评论确认了这一点。一旦您的Identity Server实例连接到自己的数据存储,您应该能够使用Identity Server实例保护您的API。有许多方法可以实现这一点,但我建议按照http://docs.identityserver.io/en/release/quickstarts/0_overview.html中的快速入门示例来保护API。