Недействительный ключ подписи IdentityServer4

Я сталкиваюсь с этим исключением в своих приложениях, прошедших проверку подлинности с помощью identityserver4:

SecurityTokenInvalidSignatureException: IDX10503: ошибка проверки подписи. Ключи пробовали: 'Microsoft.IdentityModel.Tokens.RsaSecurityKey, KeyId:'. Пойманные исключения: ''. токен: '{"alg": "RS256", "typ": "JWT"}. {"nbf": 1501510053, "exp": 1501510353, "iss": "HTTP: // локальный: 5000», "ауд": "ClientId", "одноразовый": "636371068531446271.Nzc2YzRjZGMtN2M0Ny00MGZiLWI3NTQtN2Q2NWIxZGM5MWUyODY2MGE5NTgtYWMzNS00YWJmLWEyMDktNjcwMmJhYTlkYWJk", "IAT": 1501510053, "c_hash": "teGUAAIvU0EY9L1WzjfI2Q", "sid": "c870b6184744290472b157ce5992f8e0", "sub": "a3915666-8586-476b-9166-b5b183af609e", "auth_time": "локальный", "idp_time": "1501 ]} '.

В настоящее время у меня нет сертификата для использования в моих учетных данных для входа на сервере идентификации. Поэтому я пробую этот код, иногда он работает, но я уверен, что это неправильно. У кого-то есть пошаговая инструкция по использованию SignInCredentials без сертификата .pfx?

var signinkey = new RsaSecurityKey(RSA.Create());

        var signingCredentials = new SigningCredentials(signinkey,
            SecurityAlgorithms.RsaSha256);

        // Adds IdentityServer
        services.AddIdentityServer()
            .AddSigningCredential(signingCredentials)
...

person Rafael Trojack    schedule 31.07.2017    source источник


Ответы (1)


Использовать

services.AddIdentityServer().AddDeveloperSigningCredential()

Это создаст вам случайную пару ключей RSA при первом запуске и кэширует ее на диске.

person leastprivilege    schedule 31.07.2017
comment
Хорошо, но если мое приложение перезапустится, мои токены не станут недействительными? - person Rafael Trojack; 31.07.2017
comment
Нет - ключ будет использоваться повторно, пока вы не удалите файл ключа. - person leastprivilege; 01.08.2017