Как настроить oauth2AllowIdTokenImplicitFlow в приложении Azure AD из консоли? - PullRequest
0 голосов
/ 25 июня 2019

Есть ли способ изменить свойство oauth2AllowIdTokenImplicitFlow в приложении Azure AD через Azure CLI или Azure PowerShell?

Ответы [ 2 ]

0 голосов
/ 26 июня 2019

Встроенный Powershell или CLI не поддерживает установку oauth2AllowIdTokenImplicitFlow в настоящее время.Кроме того, кажется, что это свойство можно было просто найти в манифесте приложения AD, я не смог найти его ни в одном документе (включая MS Graph или Azure AD Graph).

Но в моем тесте вы могли установить oauth2AllowIdTokenImplicitFlow через API-интерфейс Azure AD Graph.

Существует два способа вызова API-интерфейса Azure AD Graph: использовать Azure AD Graph Explorer илиPowershell.

  • Использование Azure AD Graph Explorer

Использование Azure AD Graph Explorer , просто войдите в свою учетную запись пользователя (создайтеубедитесь, что у вас есть разрешение на обновление приложения), затем вызовите API, как показано ниже.

PATCH https://graph.windows.net/myorganization/applications/{object id of the application}?api-version=1.6

{
    "oauth2AllowIdTokenImplicitFlow":true
}

Примечание : при отправке запроса кажется, что индикатор выполнения никогда не завершится,Я не уверен, что это ошибка, но на самом деле она работает через некоторое время, вам просто нужно изменить PATCH на GET, чтобы проверить oauth2AllowIdTokenImplicitFlow приложения.

enter image description here

  • Используйте PowerShell

Если вы хотите использовать PowerShell, выполните следующие действия.

1. Создайте приложение Azure Active Directory , затем Создайте новый секретный ключ приложения и Получите значения для входа в систему.

2. Перейдите к Azure Active Directory на портале -> App registrations -> найдите и щелкните свое приложение -> API permissions -> Add a permission -> выберите Azure Active Directory Graph -> нажмите Application permissions -> выберите разрешение Application.ReadWrite.All -> нажмите Add permissions -> нажмите Grant admin consent for xxx.

enter image description here

3.При использовании скрипта powershell, приведенного ниже, он отлично работает на моей стороне (он ничего не даст при успешном завершении), вы можете проверить результат на портале или использовать Azure AD Graph Explorer.

$ClientID       = "a6ec906d-xxxxx00dd3" #ApplicationID
$ClientSecret   = "XwaNxxxxx/44"  #key from Application
$tennantid      = "bb58xxxxxxd6c65"
$objectid       = "ca8xxxef66db07c0" #object id of the application

$TokenEndpoint = {https://login.windows.net/{0}/oauth2/token} -f $tennantid 
$ARMResource = "https://graph.windows.net/";

$Body = @{
        'resource'= $ARMResource
        'client_id' = $ClientID
        'grant_type' = 'client_credentials'
        'client_secret' = $ClientSecret
}

$params = @{
    ContentType = 'application/x-www-form-urlencoded'
    Headers = @{'accept'='application/json'}
    Body = $Body
    Method = 'Post'
    URI = $TokenEndpoint
}

$token = Invoke-RestMethod @params

$accesstoken = $token.access_token

$url = {https://graph.windows.net/{0}/applications/{1}?api-version=1.6} -f $tennantid,$objectid

$header = @{
    'Authorization' = 'Bearer ' + $accesstoken
    'Content-Type' = 'application/json'
}

$json = @{
    oauth2AllowIdTokenImplicitFlow = 'false' #or true
}

$body = $json | ConvertTo-Json

Invoke-RestMethod –Uri $url –Headers $header -Body $body –Method PATCH
0 голосов
/ 25 июня 2019

Вы можете с помощью модуля AzureAD Powershell (https://www.powershellgallery.com/packages/AzureAD):

Connect-AzureAD
Set-AzureADApplication -ObjectId 82384e2a-aaaa-aaaa-aaaa-11488797ce1d -Oauth2AllowImplicitFlow $true

Вам понадобится objectId регистрации вашего приложения.

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