
Partager:
Ben est un développeur en seconde carrière qui a auparavant passé une décennie dans les domaines de la formation pour adultes, de l'organisation communautaire et de la gestion d'organisations à but non lucratif. Il a travaillé comme défenseur des développeurs pour Vonage. Il écrit régulièrement sur l'intersection du développement communautaire et de la technologie. Originaire de Californie du Sud et ayant longtemps vécu à New York, Ben réside aujourd'hui près de Tel Aviv, en Israël.
Présentation de Nexmo Rack Middleware
Derrière chaque grand framework web se cache une infrastructure qui rend tout cela possible. Que vous construisiez avec Ruby on Rails, Sinatra ou d'autres frameworks web basés sur Ruby, vous utilisez très probablement Rack.
Rack permet de construire une interface personnalisable entre votre framework favori et votre serveur d'application. Cela vous permettra d'introduire un middleware dans votre programme.
Les logiciels intermédiaires (middleware) sont des applications succinctes auxquelles il est fait appel pendant le cycle de vie des demandes et des réponses d'une application web.
Ainsi, que vous recherchiez un intergiciel pour la sécurité, la journalisation, le service de fichiers statiques ou autre, vous pouvez le faire de manière relativement simple.
Présentation de Nexmo Rack
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.
Si vous travaillez sur une application Nexmo écrite en Ruby, vous pouvez dès à présent tirer parti de la nouvelle version de nexmo_rack pour incorporer les fonctionnalités de l'API Nexmo dans votre pile de middleware.
Nexmo Rack Middleware est notre dernière offre dans notre boîte à outils Ruby en pleine expansion, qui comprend déjà un SDK Ruby et un gem d'initialisation Rails.
Nous avons publié le middleware Nexmo Rack à la RubyConf 2019 avec son premier cas d'usage de vérification de SMS signés. C'est un domaine très pertinent pour les middlewares Rack. Si vous travaillez avec des SMS dans votre application, alors cette première fonctionnalité de... nexmo_rack est quelque chose qui pourrait bénéficier à votre développement.
Messages SMS signés est un moyen de vérifier que le message provient bien de la source déclarée, qu'il n'a pas été altéré et de se protéger contre l'interception des messages.
Avec Nexmo, vous pouvez utiliser des signatures pour les messages sortants et entrants. Nous supportons une variété d'algorithmes de signature, y compris MD5, SHA-256, SHA-512 et d'autres. Vous devez définir et utiliser un SIGNATURE SECRET pour crypter et décrypter les SMS signés. Votre SIGNATURE SECRET peut être défini dans votre tableau de bord Nexmo.
Démarrer avec Nexmo Rack
Pour utiliser le middleware Nexmo Rack, vous devez installer la gem. Si vous construisez une application Rails, vous pouvez l'inclure dans le répertoire Gemfile:
gem 'nexmo_rack'Pour installer la gem dans une application Ruby autonome, vous pouvez simplement l'installer sur votre système en exécutant la commande gem install nexmo_rack à partir de la ligne de commande.
Après avoir installé la gemme, vous devez lui fournir votre secret de signature et la méthode de hachage de signature souhaitée.
Fournissez vos références
Nexmo Rack supporte à la fois les variables d'environnement et les identifiants Rails, et vous êtes invités à utiliser la méthode que vous préférez lorsque vous fournissez à la gem vos identifiants API. Quelle que soit la méthode choisie, il est toujours conseillé de ne pas livrer vos informations d'identification au contrôle de version.
Si vous utilisez des variables d'environnement, ouvrez votre fichier .env et ajoutez deux nouvelles entrées pour votre secret de signature Nexmo et l'algorithme de signature souhaité :
NEXMO_SIGNATURE_SECRET = 'your_secret_key'
NEXMO_SIGNATURE_METHOD = 'md5hash'Si vous utilisez le système Rails Credentials, vous devez d'abord ouvrir vos Rails Credentials décryptés en exécutant la commande EDITOR="code --wait" rails credentials:edit à partir de votre ligne de commande. Vous pouvez remplacer la valeur de la variable EDITOR= avec votre éditeur de code préféré.
Une fois le fichier d'informations d'identification ouvert, vous pouvez ajouter le secret de signature et la méthode de signature avec l'espacement des noms suivant :
nexmo:
signature_secret: your_secret_key
signature_method: md5hash Utilisation de l'intergiciel
Une fois que Nexmo Rack est correctement crédité dans votre application, vous pouvez aller de l'avant et l'utiliser. L'une des meilleures caractéristiques de l'intergiciel Rack est sa simplicité d'utilisation.
La fonctionnalité VerifySignature inspectera chaque demande entrante pour une sig et cherchera à vérifier la signature des messages qui possèdent cette clé. sig . Si le message est vérifié, il sera transmis à l'élément suivant de votre pile, et si le message n'est pas vérifié, il renverra un 403 Forbidden si le message n'est pas vérifié. Vous pouvez activer cette fonctionnalité dans une application Ruby autonome ou dans une application Rails.
Intégré dans une application Rails
Ajoutez le middleware Nexmo Rack dans votre fichier config/application.rb pour l'initialiser dans votre application :
config.middleware.use Nexmo::Rack::VerifySignature En tant qu'application autonome
Ajoutez le middleware Nexmo Rack dans votre fichier de configuration config.ru Rack dans votre fichier de configuration :
use Nexmo::Rack::VerifySignatureC'est tout ce que vous avez à faire pour commencer à profiter des validations de SMS signés en toute transparence en utilisant Nexmo Rack !
Avez-vous des questions ou des commentaires ? Nous aimerions savoir ce que vous construisez avec Nexmo Rack ou n'importe lequel de nos outils Ruby. Vous pouvez rejoindre l'équipe Nexmo Developer Relations sur Slackou nous envoyer un email ou vous connecter avec nous sur Twitter.
Pour en savoir plus
Vous souhaitez en savoir plus ?
Partager:
Ben est un développeur en seconde carrière qui a auparavant passé une décennie dans les domaines de la formation pour adultes, de l'organisation communautaire et de la gestion d'organisations à but non lucratif. Il a travaillé comme défenseur des développeurs pour Vonage. Il écrit régulièrement sur l'intersection du développement communautaire et de la technologie. Originaire de Californie du Sud et ayant longtemps vécu à New York, Ben réside aujourd'hui près de Tel Aviv, en Israël.
