Ошибка аутентификации API. Указанное значение параметра кода недействительно. Срок действия кода истек

Наше приложение прекратило авторизацию новых пользователей для подключения к Bing Ads в этом месяце. Мы попытались отладить и узнали, что нам нужно перейти на конечную точку платформы идентификации Microsoft. Наше устаревшее приложение использует login.live.com, и мы постоянно получаем ошибки. Удаленный сервер возвратил ошибку: (400) Bad Request.

Мы зарегистрировали новое приложение на portal.azure.com, запустили Quick Start из PowerShell и успешно получили токен обновления с помощью тестируемого собственного приложения. В качестве следующего шага мы

  1. создал новое приложение с новым идентификатором clientID в portal.azure.com. Назначил тип аутентификации Web вместо Native и использовал URI перенаправления нашего приложения.

  2. В файле тестирования быстрого запуска Get-Tokens-Production.ps1 мы заменили clientID и redirectURI и добавили переменную clientsecret

  3. Запустите сценарий PowerShell быстрого запуска, используя новые значения

... и теперь мы постоянно получаем это сообщение о том, что срок действия кода истек. Я копирую параметр code = из браузера в консоль так же, как мы это делали с тестированием нативного приложения, и мне потребовалось около 15 секунд на копирование и вставку. Может ли кто-нибудь помочь объяснить, как мы можем протестировать и получить действительный токен обновления?

Invoke-WebRequest: {error: invalid_grant, error_description: AADSTS70000: указанное значение для параметра «код» недействительно. Срок действия кода истек. \ R \ nИдентификатор трассы: 348801cc-9dce-4147-aded-d52910f93000 \ r \ nИдентификатор корреляции: 2438635c-7cd6-4a3f-9cdf-d3206db0409b \ r \ nTimestamp: 2019-12-04 19: 47: 05Z , error_codes: [70000], отметка времени: 2019-12-04 19: 47: 05Z, trace_id: 348801cc-9dce-4147-aded-d52910f93000, correlation_id: 2438635c-7cd6-4a3f-9cdf-d3206db0409b, e rror_uri: https: /login.microsoftonline.com/error?code=70000}


person Mohsin Rafi    schedule 27.02.2021    source источник


Ответы (1)


Когда вы получаете код авторизации в браузере, его жизненный цикл на самом деле очень короткий, всего около 10 минут, а код авторизации можно использовать только один раз! Когда вы снова пытаетесь получить токен доступа или обновить токен, вы должны снова запросить новый код авторизации в браузере.

Если вы хотите получить токен обновления, тогда вам нужно добавить offline_access в scope.

person Carl Zhao    schedule 28.02.2021