#azure-active-directory #jwt
Вопрос:
Я зарегистрировал приложение в Azure AD и могу получать JWT, но я получаю претензии, связанные с V1 JWT, в соответствии с этим, в то время как я ожидаю претензий, связанных с V2 JWT.
Более конкретно, я хотел бы добавить утверждение azp, которое доступно только в версии V2.
Я следовал этим инструкциям, чтобы добавить azp, но он недоступен для добавления в качестве дополнительного утверждения. У меня сложилось впечатление, что я использую приложение версии 2, поскольку конечные точки заканчиваются на /V2, и у меня также есть возможность добавить ipaddr, который, насколько я понимаю, доступен только для приложений версии 2.
Может ли кто-нибудь указать мне на то, чего мне не хватает?
Комментарии:
1. Вы получили токен версии 2.0?
2. Вам нужно проанализировать токен, чтобы увидеть версию токена.
3. спасибо за ваш очень подробный ответ
Ответ №1:
Версия маркера доступа не имеет ничего общего с конечной точкой, которую вы используете для запроса маркера, но связана с запрошенным вами ресурсом. Версия ms graph api по умолчанию-это маркер версии 1.0
. Если вы хотите получить 2.0
версию токена, вам следует запросить свой пользовательский api.
Сначала вам нужно создать приложение, представляющее api, а затем предоставить api, защищенный Azure.
Затем в разделе «Разрешения API» предоставьте интерфейсному приложению доступ к внутреннему api:
- В разделе «Разрешения API» нажмите «Добавить разрешение», затем перейдите на вкладку «Мои API».
- Найдите свое серверное приложение и выберите соответствующую область.
- Нажмите «Добавить разрешения».
- Предоставьте согласие администратора для ваших API.
Затем перейдите к манифесту интерфейсного приложения и задайте для accessTokenAcceptedVersion
атрибута значение: 2
.
Затем вам необходимо использовать поток кода аутентификации для получения маркера доступа, для чего необходимо войти в систему пользователя и получить код авторизации,а затем использовать код авторизации для выкупа маркера доступа.
Проанализируйте токен, он отобразит azp
утверждение и версию версии 2.0.