Я использую Access Management (OPENAM) версии 6.5 и ASP.NET Core 2.1.
Я создал простое веб-приложение MVC. Я добавил внешний вход «google», «facebook», а также «openam» в качестве внешнего входа.
Но я получил следующую ошибку.
HttpRequestException: Response status code does not indicate success: 404 ().
System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
IOException: IDX20804: Unable to retrieve document from: 'http://www.example.com:8080/openam/.well-known/openid-configuration'.
Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(string address, CancellationToken cancel)
InvalidOperationException: IDX20803: Unable to obtain configuration from: 'http://www.example.com:8080/openam/.well-known/openid-configuration'.
Microsoft.IdentityModel.Protocols.ConfigurationManager<T>.GetConfigurationAsync(CancellationToken cancel)
На веб-странице моей программы http://localhost:44383/, Я могу нажать кнопку внешнего входа в систему «Openam», я хочу открыть «http://www.example.com:8080/openam/XUI/#login/” интерфейс входа в систему.
Что я делаю не так?
Мой код:
public void ConfigureServices(IServiceCollection services) {
..
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddFacebook(options =>
{
options.AppId = "23433128857274851";
options.AppSecret = "dc70a87e2ab33a4fcb6845b55561ac9";
})
.AddGoogle(options =>
{
options.ClientId = "598762028893-hsl3b3bldhoscvi2r8t4tuquf23dn6g.apps.googleusercontent.com";
options.ClientSecret = "3PtzMqjesmCm2TizQpNmDi9";
})
.AddCookie(options =>
{
//options.LoginPath = "/auth/signin";
options.LoginPath = new PathString("/ Account / Login");
options.LogoutPath = new PathString("/ Account / Logout");
})
.AddOpenIdConnect("oidc", options => {
options.Authority = "http://www.example.com:8080/openam";
options.MetadataAddress = "http://www.example.com:8080/openam/.well-known/openid-configuration";
options.ClientId = "ASPNETClient";
options.ClientSecret = "Pa$$w0rd";
options.GetClaimsFromUserInfoEndpoint = true;
options.ResponseType = "id_token";
options.Scope.Clear();
options.Scope.Add("openid");
options.RequireHttpsMetadata = false;
});
}