У меня есть два клиента, требующие аутентификации.
Один клиент - это spa, который использует неявный поток, а другой - прямую системную интеграцию, которая использует поток учетных данных клиента для входа в систему.
По какой-то причине, когда мой клиентский клиентский мандат вызывает мой API, мое приложение Identity Server пытается вызвать конечную точку .well_known/openid-configuration
для себя.
Вызов не имеет смысла, поскольку сервер, который в первую очередь обслуживает конфигурацию, пытается вызвать конечную точку сам по себе.
Есть ли способ заполнить эту конфигурацию, не заставляя сервер идентификации вызывать собственную конечную точку?
Ниже приведен фрагмент с моей конфигурацией сервера идентификации.
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = "Bearer";
options.DefaultChallengeScheme = "oidc";
}).AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = openIdConnectConfig.SignInScheme;
options.SignOutScheme = IdentityServerConstants.SignoutScheme;
options.Authority = openIdConnectConfig.Authority;
options.RequireHttpsMetadata = false;
options.ClientId = clientConfig.First(x => x.ClientId == "spa_app").ClientId;
options.SaveTokens = true;
options.SignedOutRedirectUri = "http://localhost:8080";
}).AddIdentityServerAuthentication(options =>
{
options.Authority = openIdConnectConfig.Authority;
options.RequireHttpsMetadata = false;
options.ApiName = "api_client";
});