MVC5 позволяет проверяющей стороне использовать токены безопасности JWT
Я использую Thinktecture IdentityServer v2, тип токена проверяющей стороны не установлен. Код работает нормально с этой настройкой.
Я хочу использовать токены JWT, поэтому у меня есть общий интерфейс от приложения MVC до API, а также от клиентов приложения телефона / вкладки до API.
Когда я устанавливаю тип токена в JWT, я вхожу в IdentityServer, затем он выдает следующую ошибку:
ID4014: A SecurityTokenHandler is not registered to read security token ('BinarySecurityToken', 'http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd').
Я создал стандартное приложение MVC и установил Аутентификацию на Organizational Accounts -> On premise
и установил локальное управление для URL-адреса метаданных IdentityServer.
Я планирую вызвать WCF из приложения MVC (и, возможно, даже кода JavaScript на других платформах).
До сих пор я установил конкретный обработчик JWT Update-Package System.IdentityModel.Tokens.Jwt -Version 3.0.2
(v4.0.0 имеет проблему, очевидно, с Thinktecture IdentityServer v2), а затем установите в файле web.config следующее:
Однако я получаю новое исключение при входе в систему:
Jwt10315: Signature validation failed. Keys tried: 'No non-null SecurityKeys were found'.
jwt: '{"typ":"JWT","alg":"RS256","x5t":"_rKoogN25ibGWZGC94xaed9g7FE"}.{"iss":"http://identityserver.v2.thinktecture.com/test","aud":"https://localhost:44302/","nbf":1419269158,"exp":1419305158,"nameid":"user","unique_name":"user","authmethod":"http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password","auth_time":"2014-12-22T17:21:43.655Z"}'
Как я могу иметь приложение MVC, чтобы оно могло использовать токены JWT?
1 ответ
Почему вы хотите использовать JWT? Особенно, если вы хотите позвонить в WCF позже - JWT - неправильный выбор. WCF лучше всего работает с токенами SAML.