https://a.storyblok.com/f/270183/54539/be867909c4/rack-middleware_1200x600.png

Nexmoラック・ミドルウェアのご紹介

最終更新日 May 18, 2021

所要時間:1 分

優れたウェブ・フレームワークの背後には、そのすべてを可能にするインフラストラクチャがある。Ruby on RailsやSinatra、その他のRubyベースのウェブ・フレームワークを使って構築している場合でも、Rackを利用している可能性が高い。

Rackを使えば、お気に入りのフレームワークとアプリケーション・サーバーの間にカスタマイズ可能なインターフェースを構築することができる。これにより、あなたのプログラムにミドルウェアを導入することができる。

ラック・ミドルウェアは、ウェブ・アプリケーションのリクエストとレスポンスのライフサイクル中に呼び出される簡潔なアプリケーションである。

そのため、セキュリティ、ロギング、静的ファイルの提供など、どのような目的でミドルウェアを利用する場合でも、比較的簡単なプロセスで利用することができる。

Nexmoラックのご紹介

Rubyで書かれたNexmoベースのアプリケーションを開発されている方は、新しくリリースされた nexmo_rackを利用して、Nexmo API機能をミドルウェアスタックに組み込むことができます。

Nexmoラック・ミドルウェアは、Rubyツールキットの最新製品です。 Ruby SDKRailsイニシャライザーgem.

私たちはRubyConf 2019で、署名付きSMSメッセージのVerifyという最初のユースケースを持つNexmo Rackミドルウェアをリリースしました。これはRackミドルウェアにとって非常に関連性の高い分野です。もしあなたのアプリケーションでSMSを扱っているなら、この最初の機能 nexmo_rackの最初の機能は、あなたの開発に有益なものです。

署名付きSMSメッセージは、メッセージが主張された送信元から発信され、改ざんされていないことを検証し、メッセージの傍受から保護する方法です。

Nexmoでは、送信と受信の両方のメッセージングに署名を使用できます。以下のような様々な署名アルゴリズムをサポートしています。 MD5, SHA-256, SHA-512などをサポートしています。を設定して使用する必要があります。 SIGNATURE SECRETを設定して使用する必要があります。あなたの SIGNATURE SECRETNexmoダッシュボード.

Nexmo Rackを始める

Nexmo Rackミドルウェアを使用するには、gemをインストールする必要があります。Railsアプリケーションをビルドしている場合は、プロジェクトの Gemfile:

gem 'nexmo_rack'

スタンドアロンのRubyアプリケーションにgemをインストールするには、コマンドラインから gem install nexmo_rackをコマンドラインから実行するだけです。

gemをインストールした後、あなたの署名の秘密と希望する署名のハッシュ方法をgemに提供する必要があります。

資格証明書の提出

Nexmo Rackは環境変数とRails認証情報の両方をサポートしており、gemにAPI認証情報を提供する際にはお好きな方をお使いください。どの方法を選んだとしても、認証情報をバージョン管理にコミットしないことをお勧めします。

環境変数を使用している場合は .envファイルを開き、Nexmo署名の秘密と希望する署名アルゴリズムの2つの新しいエントリを追加する:

NEXMO_SIGNATURE_SECRET = 'your_secret_key'
NEXMO_SIGNATURE_METHOD = 'md5hash'

Rails Credentialsシステムを使用している場合は、まずコマンドラインから以下を実行して、復号化したRails Credentialsを開く必要があります。 EDITOR="code --wait" rails credentials:editを実行します。変数 EDITOR=変数の値をお好みのコードエディタで置き換えることができます。

クレデンシャルファイルを開いたら、次のような名前空間を使ってシグネチャ・シークレットとシグネチャ・メソッドを追加できる:

nexmo:
  signature_secret: your_secret_key
  signature_method: md5hash

ミドルウェアの使用

Nexmo Rackがお客様のアプリケーションで正しく認証されれば、そのまま使用することができます。Rackミドルウェアの最大の特長は、使い方が簡単なことです。

この VerifySignatureこの機能は、鍵に対するすべての受信リクエストを検査する。 sigを検査し、その鍵を持つメッセージの署名を Verifyしようとします。 sigキーを持つメッセージの署名を検証しようとします。メッセージが検証された場合、スタックの次のアイテムに渡されます。 403 Forbiddenステータスを返します。この機能は、スタンドアロンのRubyアプリケーションでもRailsアプリケーションでも有効にすることができます。

Railsアプリケーションへの組み込み

Nexmo Rackミドルウェアを config/application.rbファイルに追加して、アプリケーション内で初期化します:

config.middleware.use Nexmo::Rack::VerifySignature

スタンドアロン・アプリケーションとして

Nexmo Rackミドルウェアを次の設定ファイルに追加します。 config.ruラック設定ファイルに追加します:

use Nexmo::Rack::VerifySignature

これだけで、Nexmo Rackを使ったシームレスな署名付きSMSバリデーションの利用を開始することができます!

ご質問やご意見はございませんか?Nexmo RackやRubyツールを使ってどのようなものを作っているか、ぜひお聞かせください。Nexmoデベロッパーリレーションズチームに参加することができます。 スラックに参加するか メールまたは ツイッター.

さらに読む

もっと詳しく知りたいですか?

シェア:

https://a.storyblok.com/f/270183/384x384/e5480d2945/ben-greenberg.png
Ben Greenbergヴォネージの卒業生

ベンはセカンドキャリアの開発者で、以前は成人教育、コミュニティ組織化、非営利団体運営の分野で10年を過ごした。彼はVonageの開発者支援者として働いていた。コミュニティ開発とテクノロジーの交差点について定期的に執筆している。南カリフォルニア出身で、長年ニューヨークに住んでいたが、現在はイスラエルのテルアビブ近郊に在住。