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

时间:2016-04-21 17:08:47

标签: c# asp.net-web-api asp.net-identity identityserver3

目前我有一个运行完美的Identity服务器,但我想在其上添加一个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被调用时,它会抛出错误,因为它无法到达身份服务器,可能是因为它还没有启动。我怎样才能让他们一起合作?

1 个答案:

答案 0 :(得分:13)

当我在StackOverflow上发帖时总会发生这种情况,我发布后几秒就知道了!对于其他有此问题的人,请在

IdentityServerBearerTokenAuthenticationOptions

设置

DelayLoadMetadata = true

然后一切都会顺利进行!