Ключ Publi c Требуется для проверки JWT, выпущенного AzDO - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть JWT, выпущенный app.vstoken.visualstudio.com. Когда я пытался проверить этот токен, используя

System.IdentityModel.Tokens.Jwt.JwtSecurityTokenHandler.Validate();

, его исключение выдается после исключения

An unhandled exception of type 'Microsoft.IdentityModel.Tokens.SecurityTokenSignatureKeyNotFoundException' occurred in System.IdentityModel.Tokens.Jwt.dll
IDX10500: Signature validation failed. No security keys were provided to validate the signature.

Я подозреваю, что он не может найти ключ publi c для эмитента, имеющего

thumbprint = значение атрибута x5t, присутствующее в заголовке JWT

Как получить этот сертификат publi c или как указать JwtSecurityTokenHandler.Validate () для получения требуемого сертификат для проверки подписи JWT.

1 Ответ

0 голосов
/ 23 апреля 2020

Мой первый подход состоял в проверке токена, выданного удаленным веб-сайтом локально. Для локальной проверки мне нужно было проверить подпись токена с помощью ключа publi c удаленного веб-сайта (поскольку он использовал свой закрытый ключ для подписи токена). Но вместо этого я обнаружил, что удаленный веб-сайт предоставляет набор доступа к apis rest, который требует от пользователя предоставить действительный токен как часть заголовка «bearer» в запросе http. В настоящее время я использую этот API для определения подлинности пользователя.

Удаленный веб-сайт был dev. azure .com, и он предоставляет набор apis и sdk для аутентификации токена. Используемая библиотека: Microsoft.VisualStudio.Services.WebApi

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...