Это должно быть возможно, но не из коробки. Identity Server 4 чрезвычайно расширяем и в отношении ключей подписи использует ISigningCredentialStore
для получения настроенных ключей подписи токена. По умолчанию это выглядит так, как будто он просто внедряет и возвращает все, что вы настроили в Startup
.
Вам нужно будет создать собственную реализацию ISigningCredentialStore
и добавить ее в DI. Identity Server 4 должен затем использовать хранилище для динамического извлечения ключей во время выполнения на основе вашей бизнес-логики.
public class CustomSigningCredentialsStore : ISigningCredentialStore
{
public Task<SigningCredentials> GetSigningCredentialsAsync()
{
// Your business logic to retrieve signing keys at runtime
}
}