
Compartilhar:
Ben é um desenvolvedor que mudou de carreira, tendo atuado anteriormente por uma década nas áreas de educação de adultos, organização comunitária e gestão de organizações sem fins lucrativos. Ele trabalhou como representante de desenvolvedores na Vonage. Escreve regularmente sobre a interseção entre desenvolvimento comunitário e tecnologia. Natural do sul da Califórnia e morador de longa data da cidade de Nova York, Ben reside atualmente perto de Tel Aviv, em Israel.
Apresentando o Nexmo Rack Middleware
Por trás de todo grande framework web existe uma infraestrutura que torna tudo isso possível. Seja desenvolvendo com Ruby on Rails, Sinatra ou outros frameworks web baseados em Ruby, é muito provável que você esteja utilizando o Rack.
O Rack permite criar uma interface personalizável entre seu framework favorito e seu servidor de aplicativos. Isso permitirá que você incorpore middleware ao seu programa.
Os middlewares do Rack são aplicativos concisos que são acionados durante o ciclo de vida das solicitações e respostas de um aplicativo web.
Portanto, quer você esteja buscando um middleware para segurança, registro de eventos, disponibilização de arquivos estáticos ou outras finalidades, é possível fazer isso por meio de um processo relativamente simples.
Apresentando o Nexmo Rack
Se você está trabalhando em uma aplicação baseada no Nexmo e escrita em Ruby, agora pode aproveitar o recém-lançado nexmo_rack para incorporar as funcionalidades da API do Nexmo à sua pilha de middleware.
Nexmo Rack Middleware é nossa mais recente novidade em nosso crescente conjunto de ferramentas para Ruby, que já inclui um SDK para Ruby e uma gem de inicialização para Rails.
Lançamos o middleware Nexmo Rack na RubyConf 2019 com seu primeiro caso de uso: a verificação de mensagens SMS assinadas. Essa é uma área muito relevante para o middleware Rack. Se você estiver trabalhando com SMS em seu aplicativo, então esse primeiro recurso do nexmo_rack é algo que pode beneficiar seu desenvolvimento.
Mensagens SMS assinadas são uma forma de verificar se a mensagem realmente se originou da fonte declarada, se não foi adulterada e de proteger contra a interceptação da mensagem.
Com a Nexmo, você pode usar assinaturas tanto para mensagens enviadas quanto para mensagens recebidas. Oferecemos suporte a diversos algoritmos de assinatura, incluindo MD5, SHA-256, SHA-512 e outros. É necessário definir e utilizar um SIGNATURE SECRET para criptografar e descriptografar mensagens SMS assinadas. Sua SIGNATURE SECRET pode ser configurada no seu Painel da Nexmo.
Comece a usar o Nexmo Rack
Para usar o middleware Nexmo Rack, é preciso instalar a gem. Se você estiver desenvolvendo uma aplicação Rails, pode incluí-la no arquivo Gemfile:
gem 'nexmo_rack'Para instalar a gem em um aplicativo Ruby independente, basta instalá-la no seu sistema executando gem install nexmo_rack na linha de comando.
Após instalar o gem, você deve fornecer a ele seu segredo de assinatura e o método de hash de assinatura desejado.
Forneça suas credenciais
O Nexmo Rack é compatível tanto com variáveis de ambiente quanto com as credenciais do Rails, e você pode usar a opção de sua preferência ao fornecer suas credenciais de API à gem. Independentemente do método escolhido, é sempre recomendável não incluir suas credenciais no controle de versão.
Se você estiver usando variáveis de ambiente, abra o arquivo .env arquivo e adicione duas novas entradas para o seu segredo de assinatura do Nexmo e o algoritmo de assinatura desejado:
NEXMO_SIGNATURE_SECRET = 'your_secret_key'
NEXMO_SIGNATURE_METHOD = 'md5hash'Se você estiver usando o sistema de credenciais do Rails, primeiro é preciso abrir suas credenciais do Rails descriptografadas executando EDITOR="code --wait" rails credentials:edit na linha de comando. Você pode substituir o valor da EDITOR= pelo nome do seu editor de código preferido.
Depois que o arquivo de credenciais estiver aberto, você poderá adicionar o segredo de assinatura e o método de assinatura utilizando a seguinte estrutura de namespaces:
nexmo:
signature_secret: your_secret_key
signature_method: md5hash Como usar o middleware
Assim que o Nexmo Rack estiver devidamente configurado em seu aplicativo, você poderá começar a usá-lo. Uma das melhores características do middleware Rack é a facilidade de uso.
A VerifySignature funcionalidade verificará se cada solicitação recebida contém uma sig chave e tentará verificar a assinatura das mensagens que possuírem essa sig chave. Se a mensagem for verificada, ela será encaminhada para o próximo item da sua pilha; caso contrário, será retornado um 403 Forbidden status. Você pode habilitar essa funcionalidade tanto em um aplicativo Ruby independente quanto em um aplicativo Rails.
Integrado a uma aplicação Rails
Adicione o middleware Nexmo Rack ao seu config/application.rb arquivo para inicializá-lo em seu aplicativo:
config.middleware.use Nexmo::Rack::VerifySignature Como um aplicativo independente
Adicione o middleware Nexmo Rack ao seu config.ru arquivo de configuração do Rack:
use Nexmo::Rack::VerifySignatureÉ só isso que você precisa fazer para começar a aproveitar as vantagens das validações por SMS assinadas e sem complicações usando o Nexmo Rack!
Você tem alguma dúvida ou comentário? Adoraríamos saber o que você está desenvolvendo com o Nexmo Rack ou com qualquer uma de nossas ferramentas em Ruby. Você pode se juntar à equipe de Relações com Desenvolvedores da Nexmo no Slack, enviar-nos um e-mail ou se conectar conosco no Twitter.
Leitura complementar
Quer saber mais?
Compartilhar:
Ben é um desenvolvedor que mudou de carreira, tendo atuado anteriormente por uma década nas áreas de educação de adultos, organização comunitária e gestão de organizações sem fins lucrativos. Ele trabalhou como representante de desenvolvedores na Vonage. Escreve regularmente sobre a interseção entre desenvolvimento comunitário e tecnologia. Natural do sul da Califórnia e morador de longa data da cidade de Nova York, Ben reside atualmente perto de Tel Aviv, em Israel.