
Compartir:
Ben es un desarrollador de segunda carrera que anteriormente pasó una década en los campos de la educación de adultos, la organización comunitaria y la gestión de organizaciones sin ánimo de lucro. Trabajó como defensor de los desarrolladores para Vonage. Escribe regularmente sobre la intersección entre el desarrollo comunitario y la tecnología. Originario del sur de California y residente durante mucho tiempo en Nueva York, Ben reside ahora cerca de Tel Aviv (Israel).
Presentación de Nexmo Rack Middleware
Detrás de cada gran framework web hay una infraestructura que lo hace posible. Si estás construyendo con Ruby on Rails, Sinatra u otros frameworks web basados en Ruby, lo más probable es que estés utilizando Rack.
Rack hace posible construir una interfaz personalizable entre tu framework favorito y tu servidor de aplicaciones. Esto le permitirá introducir middleware en su programa.
Los middleware de rack son aplicaciones sucintas a las que se recurre durante el ciclo de vida de solicitud y respuesta de una aplicación web.
Por lo tanto, si usted está buscando un middleware para la seguridad, el registro, servir archivos estáticos o más, puede hacerlo en un proceso relativamente sencillo.
Presentación 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 estás trabajando en una aplicación basada en Nexmo escrita en Ruby ahora puedes tomar ventaja de la recién liberada nexmo_rack para incorporar la funcionalidad de la API de Nexmo en tu pila de middleware.
Nexmo Rack Middleware es nuestra última oferta en nuestro creciente conjunto de herramientas Ruby, que ya incluye un SDK de Ruby y una gema inicializadora de Rails.
Lanzamos el middleware Nexmo Rack en RubyConf 2019 con su primer caso de uso de verificación de mensajes SMS firmados. Esta es un área muy relevante para el middleware Rack. Si estás trabajando con SMS en tu aplicación, entonces esta primera característica de nexmo_rack es algo que podría beneficiar tu desarrollo.
Mensajes SMS firmados es una forma de verificar que el mensaje procede de la fuente declarada, que no ha sido manipulado y protegerlo contra la interceptación de mensajes.
Con Nexmo puede utilizar firmas tanto para la mensajería saliente como para la entrante. Admitimos una gran variedad de algoritmos de firma, entre los que se incluyen MD5, SHA-256, SHA-512 entre otros. Debe establecer y utilizar un SIGNATURE SECRET para cifrar y descifrar los mensajes SMS firmados. Su SIGNATURE SECRET se puede configurar en su Panel de Nexmo.
Empiece con Nexmo Rack
Para utilizar el middleware Nexmo Rack, necesitas instalar la gema. Si estás creando una aplicación Rails, puedes incluirla en el directorio de tu proyecto Gemfile:
gem 'nexmo_rack'Para instalar la gema en una aplicación Ruby independiente, puede instalarla en su sistema ejecutando gem install nexmo_rack desde la línea de comandos.
Después de instalar la gema, debe proporcionarle su secreto de firma y el método hash de firma deseado.
Facilite sus credenciales
Nexmo Rack soporta tanto variables de entorno como credenciales Rails, y puedes usar el que prefieras cuando proporciones a la gema tus credenciales API. Independientemente del método que elijas, siempre es aconsejable no registrar tus credenciales en el control de versiones.
Si utiliza variables de entorno, abra su archivo .env y añada dos nuevas entradas para el secreto de su firma Nexmo y el algoritmo de firma deseado:
NEXMO_SIGNATURE_SECRET = 'your_secret_key'
NEXMO_SIGNATURE_METHOD = 'md5hash'Si estás utilizando el sistema de credenciales Rails, primero debes abrir tus credenciales Rails descifradas ejecutando EDITOR="code --wait" rails credentials:edit desde la línea de comandos. Puedes reemplazar el valor de la variable EDITOR= con tu editor de código preferido.
Una vez abierto el archivo de credenciales, puede añadir el secreto de firma y el método de firma con el siguiente espaciado de nombres:
nexmo:
signature_secret: your_secret_key
signature_method: md5hash Uso del middleware
Una vez que Nexmo Rack está correctamente acreditado en su aplicación, puede seguir adelante y utilizarlo. Una de las mejores características del middleware Rack es su sencillez de uso.
La función VerifySignature inspeccionará cada solicitud entrante de una clave sig y tratará de verificar la firma de los mensajes que tengan la clave sig clave. Si el mensaje es verificado lo pasará al siguiente elemento de su pila, y si el mensaje no es verificado devolverá un 403 Forbidden estado. Puedes activar esta funcionalidad tanto en una aplicación Ruby independiente como en una aplicación Rails.
Montado en una aplicación Rails
Añada el middleware Nexmo Rack en su archivo config/application.rb para inicializarlo dentro de su aplicación:
config.middleware.use Nexmo::Rack::VerifySignature Como aplicación independiente
Añada el middleware Nexmo Rack a su archivo de configuración config.ru archivo de configuración de Rack:
use Nexmo::Rack::VerifySignature¡Eso es todo lo que tiene que hacer para empezar a beneficiarse de las validaciones de SMS firmados sin fisuras utilizando Nexmo Rack!
¿Tienes alguna pregunta o comentario? Nos encantaría escuchar lo que estás construyendo con Nexmo Rack o cualquiera de nuestras herramientas Ruby. Puedes unirte al equipo de Nexmo Developer Relations en Slacko enviarnos un correo electrónico o conectar con nosotros en Twitter.
Lecturas complementarias
¿Quiere saber más?
Compartir:
Ben es un desarrollador de segunda carrera que anteriormente pasó una década en los campos de la educación de adultos, la organización comunitaria y la gestión de organizaciones sin ánimo de lucro. Trabajó como defensor de los desarrolladores para Vonage. Escribe regularmente sobre la intersección entre el desarrollo comunitario y la tecnología. Originario del sur de California y residente durante mucho tiempo en Nueva York, Ben reside ahora cerca de Tel Aviv (Israel).
