
Teilen Sie:
Ben ist ein Entwickler im zweiten Beruf, der zuvor ein Jahrzehnt in den Bereichen Erwachsenenbildung, Community-Organisation und Non-Profit-Management tätig war. Er arbeitete als Anwalt für Entwickler bei Vonage. Er schreibt regelmäßig über die Überschneidung von Gemeindeentwicklung und Technologie. Ursprünglich aus Südkalifornien stammend und lange Zeit in New York City ansässig, wohnt Ben jetzt in der Nähe von Tel Aviv, Israel.
Einführung in die Nexmo Rack Middleware
Hinter jedem großartigen Web-Framework steht eine Infrastruktur, die das Ganze möglich macht. Egal, ob Sie mit Ruby on Rails, Sinatra oder anderen Ruby-basierten Web-Frameworks arbeiten, Sie verwenden höchstwahrscheinlich Rack.
Rack ermöglicht es, eine anpassbare Schnittstelle zwischen Ihrem bevorzugten Framework und Ihrem Anwendungsserver zu erstellen. Dadurch können Sie Middleware in Ihr Programm einführen.
Rack-Middleware sind knappe Applikationen, die während des Anfrage- und Antwort-Lebenszyklus einer Web-Anwendung aufgerufen werden.
Egal, ob Sie Middleware für die Sicherheit, die Protokollierung, die Bereitstellung statischer Dateien oder anderes benötigen, Sie können dies in einem relativ unkomplizierten Prozess tun.
Wir stellen vor: Nexmo Rack
Vonage API-Konto
Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.
In diesem Lernprogramm wird auch eine virtuelle Telefonnummer verwendet. Um eine zu erwerben, gehen Sie zu Rufnummern > Rufnummern kaufen und suchen Sie nach einer Nummer, die Ihren Anforderungen entspricht.
Wenn Sie an einer Nexmo-basierten Anwendung arbeiten, die in Ruby geschrieben ist, können Sie jetzt die Vorteile der neu veröffentlichten nexmo_rack um die Nexmo-API-Funktionalität in Ihren Middleware-Stack einzubinden.
Nexmo Rack Middleware ist unser neuestes Angebot in unserem wachsenden Ruby-Toolkit, das bereits ein Ruby-SDK und ein Rails-Initialisierungs-Gem.
Wir haben die Nexmo-Rack-Middleware auf der RubyConf 2019 mit ihrem ersten Anwendungsfall der Verifizierung signierter SMS-Nachrichten veröffentlicht. Dies ist ein sehr relevanter Bereich für Rack-Middleware. Wenn Sie in Ihrer Anwendung mit SMS arbeiten, dann ist dieses erste Feature von nexmo_rack etwas, von dem Ihre Entwicklung profitieren könnte.
Signierte SMS-Nachrichten ist eine Möglichkeit zu verifizieren, dass die Nachricht von der angegebenen Quelle stammt, dass sie nicht manipuliert wurde und dass sie vor dem Abfangen von Nachrichten geschützt ist.
Mit Nexmo können Sie Signaturen sowohl für ausgehende als auch für eingehende Nachrichten verwenden. Wir unterstützen eine Vielzahl von Signieralgorithmen, darunter MD5, SHA-256, SHA-512 und andere. Sie müssen einen Algorithmus festlegen und verwenden SIGNATURE SECRET um signierte SMS zu ver- und entschlüsseln. Ihre SIGNATURE SECRET können Sie in Ihrem Nexmo Dashboard.
Starten Sie mit Nexmo Rack
Um die Nexmo Rack Middleware zu verwenden, müssen Sie das Gem installieren. Wenn Sie eine Rails-Anwendung bauen, können Sie es in Ihr Projekt einbinden Gemfile:
gem 'nexmo_rack'Um das Gem in einer eigenständigen Ruby-Anwendung zu installieren, können Sie es einfach auf Ihrem System installieren, indem Sie gem install nexmo_rack von der Kommandozeile aus ausführen.
Nach der Installation des Edelsteins müssen Sie ihm Ihr Signaturgeheimnis und die gewünschte Hash-Methode für die Signatur mitteilen.
Geben Sie Ihre Referenzen an
Nexmo Rack unterstützt sowohl Umgebungsvariablen als auch Rails Credentials, und Sie können die von Ihnen bevorzugte Methode verwenden, wenn Sie dem Gem Ihre API-Anmeldedaten zur Verfügung stellen. Unabhängig von der von Ihnen gewählten Methode ist es immer ratsam, Ihre Anmeldeinformationen nicht in die Versionskontrolle zu übertragen.
Wenn Sie Umgebungsvariablen verwenden, öffnen Sie Ihre .env Datei und fügen Sie zwei neue Einträge für Ihr Nexmo-Signaturgeheimnis und den gewünschten Signieralgorithmus hinzu:
NEXMO_SIGNATURE_SECRET = 'your_secret_key'
NEXMO_SIGNATURE_METHOD = 'md5hash'Wenn Sie das Rails Credentials-System verwenden, müssen Sie zunächst Ihre entschlüsselten Rails Credentials öffnen, indem Sie den Befehl EDITOR="code --wait" rails credentials:edit von Ihrer Befehlszeile aus aufrufen. Sie können den Wert für die EDITOR= Variable mit Ihrem bevorzugten Code-Editor ersetzen.
Sobald die Datei mit den Anmeldeinformationen geöffnet ist, können Sie das Signaturgeheimnis und die Signaturmethode mit dem folgenden Namensabstand hinzufügen:
nexmo:
signature_secret: your_secret_key
signature_method: md5hash Verwendung der Middleware
Sobald Nexmo Rack ordnungsgemäß in Ihrer Anwendung angemeldet ist, können Sie es verwenden. Eine der besten Eigenschaften der Rack-Middleware ist ihre einfache Nutzung.
Die Funktion VerifySignature Funktion prüft jede eingehende Anfrage nach einem sig Schlüssel und versucht, die Signatur derjenigen Nachrichten zu verifizieren, die den sig Schlüssel haben. Wenn die Nachricht verifiziert ist, wird sie an das nächste Element in Ihrem Stapel weitergegeben, und wenn die Nachricht nicht verifiziert ist, wird ein 403 Forbidden Status zurück. Sie können diese Funktionalität entweder in einer eigenständigen Ruby-Anwendung oder in einer Rails-Anwendung aktivieren.
Eingebunden in eine Rails-Anwendung
Fügen Sie die Nexmo Rack Middleware in Ihre config/application.rb Datei hinzu, um sie innerhalb Ihrer Anwendung zu initialisieren:
config.middleware.use Nexmo::Rack::VerifySignature Als eigenständige Anwendung
Fügen Sie die Nexmo Rack Middleware in Ihre config.ru Rack-Konfigurationsdatei hinzu:
use Nexmo::Rack::VerifySignatureDas ist alles, was Sie tun müssen, um die Vorteile der nahtlos signierten SMS-Validierung mit Nexmo Rack zu nutzen!
Haben Sie irgendwelche Fragen oder Kommentare? Wir würden uns freuen zu hören, was Sie mit Nexmo Rack oder einem unserer Ruby-Tools entwickeln. Sie können sich dem Nexmo Developer Relations Team auf Slackoder senden Sie uns eine E-Mail oder verbinden Sie sich mit uns auf Twitter.
Weitere Lektüre
Möchten Sie mehr erfahren?
Teilen Sie:
Ben ist ein Entwickler im zweiten Beruf, der zuvor ein Jahrzehnt in den Bereichen Erwachsenenbildung, Community-Organisation und Non-Profit-Management tätig war. Er arbeitete als Anwalt für Entwickler bei Vonage. Er schreibt regelmäßig über die Überschneidung von Gemeindeentwicklung und Technologie. Ursprünglich aus Südkalifornien stammend und lange Zeit in New York City ansässig, wohnt Ben jetzt in der Nähe von Tel Aviv, Israel.
