2017-02-13 3 views
0

J'utilise Identity server 4 avec l'application Asp.net MVC 4.5.2 lorsque j'exécute l'application mvc, elle arrive au serveur d'identité 4 et affiche la page de connexion. puis après avoir rempli les informations d'identification, il valide les informations d'identification et j'ai redirigé vers mon application Mvc 5, mais parfois je prends cette erreur.La validation de la signature a échoué

IDX10500: Signature validation failed. Unable to resolve 
SecurityKeyIdentifier: 'SecurityKeyIdentifier 
(
IsReadOnly = False, 
Count = 1, 
Clause[0] = System.IdentityModel.Tokens.NamedKeySecurityKeyIdentifierClause 
) 
', 
token: 
'{"alg":"RS256","kid":"20200ac5c987a7282847568c7d00dc26","typ":"JWT". 
{"nbf":1487015385,"exp":1487015685,"iss":"https://localhost:44348","aud":"mvc","nonce":"636226121849994491.YTcxMjQ2ZDQtOWVlNC00MDk3LWJhOGYtYTIxNmM4OGFkZjU3NDFhODgzMWMtMmQ4OS00OTRmLWJiMzAtZWM1NzYyZjM3MTI2","iat":1487015385,"c_hash":"qzzLGWDykED_OIG0-TIF8w","sid":"174a7048a9521e2c99462e9b681553ae","sub":"c880d185-f7a1-422b-8cce-dff8142a1a3b","auth_time":1487014828,"idp":"local","amr":["pwd"]}'. 
+0

Utilisez-vous les informations d'identification de signature temporaire? Essayez de définir un certificat X509 dans IS4. – leastprivilege

+0

oui j'utilise la signature temporaire par défaut, laissez-moi essayer le X509. –

+0

@leastprivilege comment puis-je créer le X509 cert ??? –

Répondre

0

Quand vous dites « parfois » ce me semble que vous utilisez l'option AddTemporarySigningCredentials dans IdentityServer4.

Cela signifie que le nouveau matériel clé sera créé à chaque démarrage de l'hôte.

Dans votre cas, l'application MVC dispose d'une version en cache du contenu de la clé et n'est donc pas synchronisée.

Essayez de régler les touches statiques - par ex. en utilisant un cert X509:

https://brockallen.com/2015/06/01/makecert-and-creating-ssl-or-signing-certificates/