Использование Twilio с программным обеспечением Rohos 2FA для входа на сервер терминалов

Кто-нибудь настраивал программное обеспечение Rohos 2FA, используя Twilio для части SMS? Я обновил PowerShell для правильного хука API, и когда я проверяю, ошибка не разрешена, но если я перейду непосредственно к хуку, я могу использовать ту же информацию в скрипте и получить доступ к информации XML. Я не уверен, что мне не хватает. Я новичок в использовании Twilio и Rohos. Просто пытаюсь обернуть голову вокруг всего этого. PS Скрипт ниже.

Любая помощь будет принята с благодарностью. Мне нужно закончить настройку части SMS. Система работает, но я могу использовать только часть Emergency Access, которая отвечает на вопросы безопасности. Нужно получить смс и запустить. Очевидно, я заблокировал номера счетов и пароли в скрипте. Спасибо за любую помощь!!!

if ($NotifyBySms)
{
    # If phone is blank
    if ($AdUserName.mobile -eq $null)
    {
        SaveStatus -StatusText "Error $($AdUserName.sAMAccountName) - phone is empty."
        $cntNotificationsNotSent++
    } 
    # If phone is not blank - send SMS
    else
    {
        $SmsNotificationText = "OTP code is $($otp)"
        #https://api.twilio.com/2010-04-01/Accounts/xxxxxxxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxx + to=$($AdUserName.mobile)+text=$($SmsNotificationText)
        #https://smsc.ru/sys/send.php?login=xxxxxxx&psw=xxxxx&phones=+$($AdUserName.mobile)&mes=$($SmsNotificationText)

        $SmsGatewayUrl = "https://api.twilio.com/2010-04-01/Accounts/xxxxxxxxxxxxxxxxxxxxxxxxxx/Messages.Json&user=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&password=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&to=$($AdUserName.mobile)&text=$($SmsNotificationText)"

        $RequestResult = Invoke-WebRequest -Uri $SmsGatewayUrl
        if ($RequestResult.Content -match "^OK")
        {
    SaveStatus -StatusText "SMS OK to $($AdUserName.mobile) RET: $($RequestResult.Content)."
            #do nothing
        }
        else
        {
            SaveStatus -StatusText "SMS Error: $($RequestResult.Content)."
            return -1
        }
    }
}

return $cntNotificationsNotSent
}

1 ответ

Twilio разработчик евангелист здесь.

Я никогда раньше не использовал PowerShell, поэтому я не знаю, что именно делать.

Тем не менее, я вижу, что в том, как вы делаете запрос на отправку SMS, есть несколько ошибок. Вот что вам нужно обновить:

  • Вам необходимо отправить запрос на ресурс сообщений в виде POST запрос, так что добавьте -Method 'POST' по вашему запросу
  • Вы не можете установить имя пользователя и пароль (SID учетной записи и токен аутентификации) в качестве параметров URL. Вместо этого вам нужно отправить их как базовую аутентификацию HTTP. Я считаю, что это означает, что вам нужно добавить -Authentication Basic а затем создать PSCredential объект с учетной записью sid и токеном авторизации, который вы затем передаете как -Credential вариант
  • Вам необходимо отправить параметры сообщения как часть тела запроса, а не в URL, также у вас нет нужных параметров, вам нужен To, From и Body сообщения, как это:

    $Body = @{
        To = $AdUserName.mobile
        From = $YourTwilioNumber
        Body = $SmsNotificationText
    }
    

    Затем добавьте -Body $Body на ваш запрос.

Я надеюсь, что это поможет вам создать URL и запросить отправку SMS-сообщения.

Другие вопросы по тегам