Я пытаюсь проверить токен oAuth, который получает мой серверный код.Validate Exchange oAuth token
Код на стороне сервера использует управляемый Exchange API, а отправляемый токен был получен моей надстройкой из Exchange с использованием метода Office.context.mailbox.getUserIdentityTokenAsync(callback)
в API Outlook.
Я бегу на вопрос, когда я называю token.Validate(uri)
метод:
var token = (AppIdentityToken)AuthToken.Parse(rawToken);
token.Validate(new Uri(hostUri));
Согласно documentation:
hostUri: Полное URI на странице в вашем Outlook, добавить в том, что называется getUserIdentityTokenAsync.
Чтобы получить hostUri внутри страницы в надстройке, я использую:
var hostUri = location.href.split('?')[0];
Однако с помощью этого при условии URI, вызывает ошибку при попытке проверки маркера:
Я смущен тем, почему он будет использовать URI, где находится надстройка, вместо использования открытого ключа поставщика удостоверений, который выдал токен (то есть Exchange).
Да, получается, что библиотека проверки токена просматривает поле 'amurl', чтобы узнать, где он может получить открытый ключ для проверки токена. В нашем случае мы установили обмен в тестовой виртуальной машине с составленным доменным именем, поэтому мы не смогли его достичь, после того как исправлено (добавление записи в файл хоста), он смог получить открытый ключ и проверить токен , –