Есть ли способ подключиться к New-CsOnlineSession с помощью токена oauth?

Я ищу способ запуска New-CsOnlineSession из веб-приложения с использованием токена oauth. WebApp будет отвечать за аутентификацию пользователя. Это будет использовать современную аутентификацию Microsoft, которая будет обрабатывать двухфакторную аутентификацию и согласие.

Я зарегистрировал приложение на портале Azure и предоставил разрешение на олицетворение пользователя для Skype For Business Powershell Server Application.

Однако, когда я подключаюсь с токеном, полученным с помощью WebApp, я получаю сообщение об ошибке, что используется неправильная аудитория.

Ниже приведена стенограмма моего сеанса powershell. Как только я заработаю в powershell, идея состоит в том, что WebApp будет выполнять команды powershell, поэтому любой способ сделать это, когда PowerShell запрашивает учетные данные, не будет работать.

PS C:\WINDOWS\system32> $token = ConvertTo-SecureString -String $oauthtoken -AsPlainText -Force
PS C:\WINDOWS\system32> $session = New-CsOnlineSession -OAuthAccessToken $token -Verbose
VERBOSE: OAuthAccessToken is provided.
VERBOSE: Determining domain to administer
VERBOSE: AdminDomain = 'mydomain.onmicrosoft.com'
VERBOSE: Discovering PowerShell endpoint URI
VERBOSE: TargetUri = 'https://admin2e.online.lync.com/OcsPowershellOAuth'
VERBOSE: AuthUri = 'https://login.windows.net/common/oauth2/authorize', ClientId = 7716031e-6f8b-45a4-b82b-922b1af0fbb4
VERBOSE: Validating authentication token.
New-CsOnlineSession : OAuthAccessToken has invalid audience https://teamsconfigapi-int.trafficmanager.net, expected https://admin2e.online.lync.com/OcsPowershellOAuth.
At line:1 char:12
+ $session = New-CsOnlineSession -OAuthAccessToken $token -Verbose
+            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,New-CsOnlineSession

person Peter Solomon    schedule 13.01.2020    source источник
comment
Не могли бы вы объяснить, как вы зарегистрировали приложение на портале Azure и получили олицетворение пользователя? Я не смог найти такое разрешение, как user_impersonation?   -  person javac    schedule 12.02.2021


Ответы (1)


Не могли бы вы попробовать установить -OverrideAccessTokenResourceUri на указанный URL-адрес.

person TheKonamiCode    schedule 06.02.2020