Нужно ли проверять UserInfo AuthenticationResult, как нам нужно для токена? - PullRequest
0 голосов
/ 27 февраля 2019

Поэтому я использую библиотеку ADAL для реализации единого входа Azure Directory в мое приложение. документация

Я добавляю { "scope", "openid"} к URL запроса, чтобы получить id_token.Затем я получаю уникальный идентификатор пользователя для поиска в базе данных.

AuthenticationContext ac = new AuthenticationContext(MicrosoftAuthBaseURL);

ClientCredential clcred = new ClientCredential(MicrosoftAppId, MicrosoftAppSecret);
AuthenticationResult acResult = ac.AcquireTokenByAuthorizationCodeAsync(code, new Uri(RedirectURI), clcred).Result;

SignInUser(acResult.UserInfo.UniqueId);

Я знаю, что рекомендуется проверять токен доступа или токен id, но в моем случае ни один из этих токеновиспользуется напрямую.Я просто получаю / использую поле UniqueId.Итак, мой вопрос: нужно ли мне здесь проводить какую-либо проверку, что я должен проверять, и есть ли какой-либо встроенный метод проверки, который я могу использовать в библиотеке?Я предпочитаю не делать это вручную.

1 Ответ

0 голосов
/ 27 февраля 2019

В этой ситуации я бы сказал, что проверка не является обязательной, поскольку вы получаете токен в прямом ответе от Azure AD.Если кто-то может перехватить и заменить токен, он также может заменить ключи подписи, которые получает ваше приложение.Это означало бы, что они смогут подделать любой токен, который захотят.

...