Значение customKeyIdentifier не работает как x5t после загрузки публичного сертификата - PullRequest
0 голосов
/ 10 мая 2019

Я пытался получить токен JWT из Microsoft Azure Active Directory, используя учетные данные сертификата для проверки подлинности приложения. Я использую customKeyIdentifier как x5t при создании Токен JWT)

Существует два способа создания приложения

1) App Registrations(Legacy)
2) App Registrations

enter image description here

После создания приложения test-app-13 из любого из двух вышеуказанных мест. Я загрузил один и тот же файл открытого сертификата по двум путям ниже, чтобы получить customKeyIdentifier .

1) AzureActiveDirectory-> AppRegistrations (Legacy) -> test-app-13-> Настройки-> Ключи-> Загрузить открытый ключ

header = {
"alg": "RS256",
"typ": "JWT",
"x5t": "oO/ImH7U2wcypCvrY+iYalHOOmg="
};

Когда я использую "x5t": "oO / ImH7U2wcypCvrY + iYalHOOmg =" , тогда аутентификация работает.

enter image description here

2) AzureActiveDirectory-> AppRegistrations -> test-app-13-> Сертификаты и секреты -> Загрузить сертификат

header = {
"alg": "RS256",
"typ": "JWT",
"x5t": "A0EFC8987ED4DB0732A42BEB63E8986A51CE3A68"
};

Но когда я использую "x5t": "A0EFC8987ED4DB0732A42BEB63E8986A51CE3A68" , тогда я получаю ошибку

  {  
  "error":"invalid_client",
  "error_description":"AADSTS700027: Client assertion contains an invalid 
  signature. [Reason - The key was not found., Thumbprint of key used by 
  client: 
  '0341050BCF7CEC40F80C1D3BDF6038D81101EB713CF7CE80E75084DC0EBC', Please 
  visit 'https://developer.microsoft.com/en-us/graph/graph-explorer' 
  and query for 
  'https://graph.microsoft.com/beta/applications/2e452b20-df6d-4228- 
  83c6-5742b1a8f59c' to see configured keys]\r\nTrace ID: 0a77a624- 
  684d-4145-9ce5-d19e1b6ccb00\r\nCorrelation ID: 09254eb4-6128-4e18-a 
  bf6-70b5e9a68960\r\nTimestamp: 2019-05-09 12:39:29Z",
  "error_codes":[700027],
  "timestamp":"2019-05-09 12:39:29Z",
  "trace_id":"0a77a624-684d-4145-9ce5-d19e1b6ccb00",
  "correlation_id":"09254eb4-6128-4e18-abf6-70b5e9a68960"
  }

enter image description here

.

Мой вопрос: почему «x5t»: «A0EFC8987ED4DB0732A42BEB63E8986A51CE3A68I» не работает, если загрузка общедоступного сертификата по пути AzureActiveDirectory-> AppRegistrations -> test-app-13-> Settings-> Certificates & секреты -> Загрузить сертификат и почему значение customKeyIdentifier генерируется по-разному из этих двух мест?

1 Ответ

0 голосов
/ 14 мая 2019

Два значения, на которые вы ссылаетесь, одинаковы, попробуйте запустить на них этот hex2base64.

Одно из них имеет кодировку base64 oO/ImH7U2wcypCvrY+iYalHOOmg=, а другое - шестнадцатеричное представление A0EFC8987ED4DB0732A42BEB63E8986A51CE3A68I.

Похоже, что графическая служба поддерживает значение только в кодировке base64.

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