目前我有一个运行良好的身份服务器,但我想在其上添加一个 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
时,它会引发错误,因为它无法访问标识服务器,大概是因为它尚未启动。如何让它们正确协同工作?
当我在 StackOverflow 上发帖时,这总是会发生,我在发帖后几秒钟就想通了!对于遇到此问题的其他任何人,在
IdentityServerBearerTokenAuthenticationOptions
设置
DelayLoadMetadata = true
然后一切都会顺利进行!