Я разрабатываю свой API с использованием аутентификации на сервере идентификации 4.
http://localhost:9626/ URL работает нормально, я могу генерировать токен. Но
http://192.168.1.7:9626 авторитетный URL, я не мог ...
Я сталкиваюсь с этой ошибкой.
Ошибка подключения к http://192.168.1.7:9626/.well-known/openid-configuration: Требуется HTTPS
Токен генерирует код.
using (var httpClientHandler = new HttpClientHandler())
{
httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) =>
{
return true;
};
var client = new HttpClient(httpClientHandler);
var disco = client.GetDiscoveryDocumentAsync(ConfigHelper.AppSettings["Auth:ServerURL"]).Result;
if (disco.IsError) throw new Exception(disco.Error);
var response = client.RequestPasswordTokenAsync(new PasswordTokenRequest
{
Address = disco.TokenEndpoint,
ClientId = ConfigHelper.AppSettings["Auth:ClientId"],
ClientSecret = ConfigHelper.AppSettings["Auth:ClientSecret"],
UserName = model.UserName,
Password = model.Password,
Scope = ConfigHelper.AppSettings["Auth:AllowScopes"]
}).Result;
if (response.IsError) return StatusCode(StatusCodes.Status500InternalServerError, response.Error);
var handler = new JwtSecurityTokenHandler();
var tokenS = handler.ReadToken(response.AccessToken) as JwtSecurityToken;
Конфигурация Startup.cs
// identity server certificate configuration
var fileName = Path.Combine(_env.ContentRootPath, "localhost.pfx");
if (!File.Exists(fileName))
{
throw new FileNotFoundException("Signing Certificate is missing!");
}
var cert = new X509Certificate2(fileName,"test@123");
services.AddIdentityServer().AddSigningCredential(cert)
.AddInMemoryApiResources(AuthConfiguration.GetApiResources())
.AddInMemoryClients(AuthConfiguration.GetClients()).AddResourceOwnerValidator<ResourceOwnerPasswordValidator>().AddProfileService<ProfileService>();
Здесь файл localhost.pfx, который я сгенерировал из этого инструмента DigiCertUtil .
https://github.com/IdentityServer/IdentityServer4/issues/1116 Я ссылаюсь на эту ссылку. Я не получил четкое решение, они сказали, что это может быть ошибка сертификата.
То же самое означает, что мне нужно сделать ....