Получение «AADSTS50013: Утверждение не прошло проверку подписи» при создании от имени токена с использованием msal4j (1.11.0)

#java #msal

#Ява #msal

Вопрос:

Я пытаюсь сгенерировать от имени токен из токена доступа, сгенерированного из DeviceCode/UserCode. Используя следующий код:

 UserAssertion userAssertion = new UserAssertion(clientAccessToken);  IClientSecret clientSecret = ClientCredentialFactory.createFromSecret(lt;clientSecretValuegt;); ConfidentialClientApplication clientApplication = ConfidentialClientApplication.builder(  lt;clientIdValuegt;,  clientSecret)  .authority(authority)  .build();  String scope = "https://lt;sharepoint-online-host-namegt;/.default";  OnBehalfOfParameters params = OnBehalfOfParameters.builder(Collections.singleton(scope), userAssertion).build(); CompletableFuturelt;IAuthenticationResultgt; future = clientApplication.acquireToken(params);   IAuthenticationResult authResult = future.get();  

И это дает мне следующую ошибку: java.util.параллельный.Исключение ExecutionException: com.microsoft.aad.msal4j.msalinteractionrequired Исключение: AADSTS50013: Утверждение не удалось проверить подпись. [Причина — Предоставленное значение подписи не соответствует ожидаемому значению подписи., Отпечаток ключа, используемого клиентом: ‘977B10FB9D1C087E3105564B1D31B09D247BEBCD’, Найден ключ ‘Начало=02/07/2021 17:00:39, Конец=02/06/2026 17:00:39’]. Идентификатор трассировки: f98ee11b-ac67-4cd1-a3a9-ec7399f37001 Идентификатор корреляции: 35f97212-355e-44c2-ab4d-7c1726be4791 Метка времени: 2021-12-01 13:19:05Z

Примечание: Те же значения параметров работают для ADAL4J, и я пытаюсь перейти на MSAL.