如何在同一项目中运行 IdentityServer 和 WebAPI

本文关键字:运行 IdentityServer WebAPI 项目 | 更新日期: 2024-10-29 19:24:54

目前我有一个运行良好的身份服务器,但我想在其上添加一个 API,以通过 Web 前端进行一些数据库配置更改。文档中的示例显示了如何使用 MVC 而不是 WebAPI 执行此操作。

Startup.Configuration 方法如下所示:

app.UseIdentityServer(new IdentityServerOptions{ ... });
...
app.Map("/api", apiApp =>
{
    apiApp.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
    {
        Authority = "https://localhost:44300", // URL of identity server
    });
});

但是,当调用app.Map时,它会引发错误,因为它无法访问标识服务器,大概是因为它尚未启动。如何让它们正确协同工作?

如何在同一项目中运行 IdentityServer 和 WebAPI

当我在 StackOverflow 上发帖时,这总是会发生,我在发帖后几秒钟就想通了!对于遇到此问题的其他任何人,在

IdentityServerBearerTokenAuthenticationOptions

设置

DelayLoadMetadata = true

然后一切都会顺利进行!