Моя идея состояла в том, чтобы иметь одно приложение AD и предоставить каждому клиенту его / ее собственный секрет, предполагая, что я могу получить идентификацию клиента из JWT. Но я думаю, что лучше иметь отдельное приложение AD для каждого клиента.

я есть приложение Azure AD, и я сгенерировал два клиентских секрета. Я могу получить токен доступа JWT, используя каждый секрет (черезclient_credentials предоставить) но можно ли также узнать по токену JWT, через какой секретный ключ клиента он был запрошен?

Если я проверяю возвращаемые токены JWT, некоторые поля полезной нагрузки всегда одинаковы (aud, issи т. д.) и некоторые всегда разные (iat, nbf, aioи т. д.), но, насколько я могу судить, нет информации, которая идентифицирует использованный секрет клиента.

Вот пример полезной нагрузки:

{
  "aud": "https://graph.microsoft.com",
  "iss": "https://sts.windows.net/e402c5fb-58e9-48c3-b567-741c4cef0b96/",
  "iat": 1516886787,
  "nbf": 1516886787,
  "exp": 1516890687,
  "aio": "Y2NgYEjJqF0stqv73u41a6ZmxPEvBgA=",
  "app_displayname": "TravelAgencies",
  "appid": "ee8cf944-bf6f-42cf-ae30-6060412416a1",
  "appidacr": "2",
  "e_exp": 262800,
  "idp": "https://sts.windows.net/e402c5fb-58e9-48c3-b567-741c4cef0b96/",
  "oid": "bc430bc6-d9fb-4fa0-87e5-8b8803fcb222",
  "sub": "bc430bc6-d9fb-4fa0-87e5-8b8803fcb222",
  "tid": "e402c5fb-58e9-48c3-b567-741c4cef0b96",
  "uti": "1TgusyfGtECjErT0Kv4PAA",
  "ver": "1.0"
}

На связанной ноте: каковыaio, e_exp а такжеuti поля для? Я не могу найти информацию о них.

Ответы на вопрос(1)

Ваш ответ на вопрос