
シェア:
ベンはセカンドキャリアの開発者で、以前は成人教育、コミュニティ組織化、非営利団体運営の分野で10年を過ごした。彼はVonageの開発者支援者として働いていた。コミュニティ開発とテクノロジーの交差点について定期的に執筆している。南カリフォルニア出身で、長年ニューヨークに住んでいたが、現在はイスラエルのテルアビブ近郊に在住。
Nexmoラック・ミドルウェアのご紹介
優れたウェブ・フレームワークの背後には、そのすべてを可能にするインフラストラクチャがある。Ruby on RailsやSinatra、その他のRubyベースのウェブ・フレームワークを使って構築している場合でも、Rackを利用している可能性が高い。
Rackを使えば、お気に入りのフレームワークとアプリケーション・サーバーの間にカスタマイズ可能なインターフェースを構築することができる。これにより、あなたのプログラムにミドルウェアを導入することができる。
ラック・ミドルウェアは、ウェブ・アプリケーションのリクエストとレスポンスのライフサイクル中に呼び出される簡潔なアプリケーションである。
そのため、セキュリティ、ロギング、静的ファイルの提供など、どのような目的でミドルウェアを利用する場合でも、比較的簡単なプロセスで利用することができる。
Nexmoラックのご紹介
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.
Rubyで書かれたNexmoベースのアプリケーションを開発されている方は、新しくリリースされた nexmo_rackを利用して、Nexmo API機能をミドルウェアスタックに組み込むことができます。
Nexmoラック・ミドルウェアは、Rubyツールキットの最新製品です。 Ruby SDKや Railsイニシャライザーgem.
私たちはRubyConf 2019で、署名付きSMSメッセージのVerifyという最初のユースケースを持つNexmo Rackミドルウェアをリリースしました。これはRackミドルウェアにとって非常に関連性の高い分野です。もしあなたのアプリケーションでSMSを扱っているなら、この最初の機能 nexmo_rackの最初の機能は、あなたの開発に有益なものです。
署名付きSMSメッセージは、メッセージが主張された送信元から発信され、改ざんされていないことを検証し、メッセージの傍受から保護する方法です。
Nexmoでは、送信と受信の両方のメッセージングに署名を使用できます。以下のような様々な署名アルゴリズムをサポートしています。 MD5, SHA-256, SHA-512などをサポートしています。を設定して使用する必要があります。 SIGNATURE SECRETを設定して使用する必要があります。あなたの SIGNATURE SECRETは Nexmoダッシュボード.
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デベロッパーリレーションズチームに参加することができます。 スラックに参加するか メールまたは ツイッター.
さらに読む
もっと詳しく知りたいですか?
