Как получить Azure для проверки JWT в API, отличном от Azure - PullRequest
0 голосов
/ 22 февраля 2019

Я создаю небольшое приложение React и хочу использовать Azure для входа в систему. У всех есть учетная запись Office 365, связанная с их арендатором.Я зарегистрировал приложение в Azure, разрешил неявный поток и т. Д., И я могу войти через интерфейс React.Я получаю токен и могу получить доступ к основным данным пользователя через область действия user.read.Все хорошо.

Я использую библиотеку Msal, чтобы сделать все это, и я где-то читал, что если бы я получал JWT от Microsoft Graph, он имел бы одноразовый номер в заголовке и не мог бы быть использовандля этого типа целей (потому что Graph может обрабатывать проверку с каждым запросом).Я дважды проверил все, и он звонит Msal.UserAgentApplication с моим clientId и URL-адресом входа для нашего Арендатора.

Теперь серверная часть находится на AWS, поэтому я хотел бы получить каждый запрос отпользователь вызывает API на AWS и включает токен в заголовок.

Я пытался проверить токен, используя azure-ad-jwt и даже заменив код предложениями кого-то в этом посте , но я ничего не могу получитьно неверная подпись.

Из того, что я вижу, код в этих ссылках в основном декодировал JWT, выслеживает открытые ключи от Microsoft, находит соответствующий на основе kid, делает некоторую уборкуиз сертификата, и пытается проверить это.Но он постоянно возвращается:

{
    "name":"JsonWebTokenError",
    "message":"invalid signature"
}

Бэкэнд написан на Nodejs, я не могу придумать больше причин, почему он не будет работать.Кто-нибудь может заставить это работать или есть какие-нибудь идеи?

Для чего это стоит, я также вставил токен в jwt.io , и он декодирует поиск, но также говорит, что Invalid Signature, хотя и вверхна данный момент я предположил, что это потому, что я не вставил открытый ключ или сертификат.

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