将Twilio与Rohos 2FA软件一起用于终端服务器登录

时间:2018-12-05 13:06:09

标签: authentication twilio twilio-api two-factor-authentication

有人使用Twilio的SMS部分设置了Rohos 2FA软件吗?我已经将Powershell更新为正确的API挂钩,并且当我测试错误未得到授权时,但是如果直接转到挂钩,则可以在脚本中使用相同的信息并访问XML信息。我不确定我缺少什么。我是使用Twilio和Rohos的新手。只是想把你的头包起来。 PS脚本如下。

任何帮助将不胜感激。我需要完成SMS部分的配置。系统正在运行,但是我只能使用“紧急访问”部分来回答安全问题。需要启动并运行SMS。 显然,我在脚本中阻止了帐号和密码。 感谢您的协助!

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 个答案:

答案 0 :(得分:0)

这里是Twilio开发人员的传播者。

我以前从未使用过powershell,所以我没有能力告诉您确切的操作方法。

但是,我发现请求发送SMS的方式存在一些问题。这是您需要更新的内容:

  • 您需要将请求作为POST请求发送到消息资源,因此请在您的请求中添加-Method 'POST'
  • 您不能将用户名和密码(帐户SID和身份验证令牌)设置为URL参数。相反,您需要将其作为HTTP基本身份验证发送。我相信这意味着您需要添加-Authentication Basic,然后使用帐户sid和auth令牌创建一个PSCredential对象,然后将其作为-Credential选项传递
  • 您需要将消息的参数作为请求正文的一部分发送,而不是在URL中发送,此外,您没有正确的参数,您需要ToFrom和邮件的Body,如下所示:

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

    然后将-Body $Body添加到您的请求中。

我希望这可以帮助您构造URL并请求您发送SMS消息。