Я пытаюсь написать сценарий PowerShell, который позволит пользователям авторизовать приложение Azure Active Directory для действий от их имени.
В соответствии с потоком предоставления кода авторизации документация от Microsoft .Я вызываю конечную точку авторизации со следующей строкой:
Invoke-WebRequest -Method GET -Uri "https://login.microsoftonline.com/$tenantId/oauth2/authorize?client_id=$applicationId&response_type=code&redirect_uri=$redirectUri&response_mode=query&resource=$resource&state=09876"
Она одновременно возвращает ответ в PowerShell и одновременно открывает веб-страницу в браузере по умолчанию.
Ниже приведено то, чтоответ выглядит следующим образом:
StatusCode : 200
StatusDescription : OK
Content :
<!DOCTYPE html>
<html dir="ltr" class="" lang="en">
<head>
<title>Sign in to your account</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-eq...
RawContent : HTTP/1.1 200 OK
Pragma: no-cache
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
x-ms-request-id: ed3ee9de-ccc4-47ea-ac52-087b...
Forms : {}
Headers : {[Pragma, no-cache], [Strict-Transport-Security, max-age=31536000; includeSubDomains],
[X-Content-Type-Options, nosniff], [X-Frame-Options, DENY]...}
Images : {}
InputFields : {}
Links : {}
ParsedHtml : mshtml.HTMLDocumentClass
RawContentLength : 22592
Веб-страница, отображаемая в браузере, перенаправляется на https://login.microsoftonline.com/cookiesdisabled
с отображением следующего сообщения:
Мы не можем подписать вас вбраузер в настоящее время настроен на блокировку файлов cookie.Вы должны разрешить куки использовать эту услугу.Файлы cookie - это небольшие текстовые файлы, которые хранятся на вашем компьютере и сообщают нам, когда вы вошли в систему. Чтобы узнать, как разрешить использование файлов cookie, обратитесь к интерактивной справке в веб-браузере.
Итак, подведем итоги., это не работает!
Обратите внимание, что куки включены в моем браузере, и если я вызову веб-запрос из веб-браузера, он будет работать нормально.
Чтоя делаю не так?и как мне предложить пользователю диалог с помощью PowerShell и получить ответ с кодом авторизации обратно в PowerShell?
Спасибо.