Мои требования:
1) клиенты сервера идентификации и API-ресурсы загружаются из моей базы данных, а не из моего статического конфигурационного файла.
2) Мне нужно добавить клиентов из моего API и автоматически обновлять клиентов на моем сервере AUTH.
То, что я сделал, это
IEnumerable<Customers> clients = _accountservice.GetAllClients();
clients.ToList().ForEach((client) =>
{
authclients.Add(new Client
{
ClientId = client.ClientId,
ClientSecrets =
{
new Secret(client.ClientSecret.Sha256())
},
AllowedGrantTypes = GrantTypes.ResourceOwnerPassword,
AllowedScopes = {client.AllowScopes },
AccessTokenType = AccessTokenType.Jwt,
AlwaysSendClientClaims = true,
Claims = new List<Claim>() {
new Claim("Client Id",client.ClientId , ClaimValueTypes.String)
}
});
});
В моем запуске.cs
services.AddIdentityServer().AddDeveloperSigningCredential()
.AddInMemoryApiResources(AuthConfiguration.GetApiResources())
.AddInMemoryClients(AuthConfiguration.GetClients()).AddProfileService<ProfileService>().AddResourceOwnerValidator<ResourceOwnerPasswordValidator>();
Каждый клиент загружается из базы данных. Впервые я добавил клиентов и хост в IIS сервере.
После добавления клиента означает, что мне нужно перезагрузить сервер.
Но мне не нужна такая опция автоматического обновления, которая мне нужна на моем сервере идентификации.
Я использую идентификационный сервер 4.