2017-11-21 11 views
1

Ich bin mit Glaskolben, Twilio und Ngrok ein Programm auf einem Raspberry Pi laufen. Die Benutzername/Passwort-Authentifizierung in Ngrok funktioniert gut, wenn ich auf die Ngrok-URL in einem Browser zugreifen, aber ich möchte in der Lage sein, den Benutzernamen/PW in einer Textnachricht zu übergeben, um den Code dann zu authentifizieren.Twilio und Ngrok mit Passwort?

Ist es überhaupt möglich?

app = Flask(__name__) 

@app.route("/", methods=['GET', 'POST']) 
def camera_toggle(): 
    from_number = request.values.get('From', None) 
    from_message = request.values.get('Body', None) 

    resp = MessagingResponse() 
    resp.message("Please enter your username:password") 
    if ":" not in from_message: 
     #Split the username/password, then somehow login?? 
     return str(resp) 
    else: 
     from_number = request.values.get('From', None) 
     from_message = request.values.get('Body', None) 
     if callers[from_number] == "John Doe": 
      if from_message == "CameraON": 
       subprocess.call(["bash", "camera.sh"]) 
     return str("Please enter the keyword to turn on the camera") 

Ist das überhaupt möglich?

Antwort

2

Twilio Entwickler Evangelist hier.

Wenn Sie HTTP Basic Auth mit ngrok verwenden, dann können Sie Ihre Twilio Webhook URL setzen Sie den Benutzernamen und das Passwort in der URL für eingehende SMS-Nachrichten zu verwenden.

Zum Beispiel, wenn Ihr Benutzername und Passwort ist „username“ und „password“ und Ihre ngrok URL war secure.ngrok.io dann können Sie die eingehende Webhook URL für Nachrichten in Ihrer Twilio Konsole setzen:

https://username:[email protected]/sms

Check out mehr auf securing your webhook endpoints in the Twilio documentation.

+0

Danke, @philnash. Ich habe Probleme, den Beispielcode zu verstehen, und ich bin mir nicht sicher, wie ich das umsetzen kann, was ich brauche. Ich sehe nicht, wie ich Logik einschließen würde, um den Benutzer um den Benutzernamen/das Kennwort über SMS zu bitten. –

+0

Oh, wenn Sie den Benutzer nach einem Benutzernamen und einem Passwort fragen wollten, dann können Sie es nicht mit der HTTP-Basisauthentifizierung von ngrok machen. Sie müssten die Authentifizierung selbst in Ihrer Anwendung erstellen. – philnash