Twilio+Railsで作る
SMS個人認証
株式会社ソニックガーデン
伊藤 淳一
SonicGarden Study #1
Twilio+rails+sms #sg_study
はじめに
•このスライドやサンプルアプリの
コードは後ほど公開します
•Twitterのハッシュタグ = #sg_study
•質問も#sg_studyでどうぞ
•本編の最後でまとめて回答します
Call me!
050-3159-6306
聞こえた人はツイート
#sg_study
※そのうち使えなくなるかも
About me
伊藤淳一
Twitter: @jnchito
Blog: give IT a try
僕は今ココにいます。
日本のへそ=西脇市
Wikipedia
みなさんは今どこで
観ていますか?
#sg_study を付けてツイート!
SonicGarden Study?
•SonicGardenが主催するIT勉強会
•USTで役立つ技術情報をライブ配信
•世界中どこからでも参加可能!
この人が弟子(19)
Today’s Menu
•Twilioとは何か?
•Rails + SMS個人認証の作り方
Demo
Twilioとは何か?
What’s Twilio?
•電話やSMSのAPIを提供するサービス
•アプリで音声通話やSMSが操れる!
•電話をかける/受けることも可能
•米Twilio社がサービスを開発、提供
Good Points
•機能豊富なAPI
•多彩な言語をカバーするライブラリ
•Ruby, Java, .NET, PHP, etc
•海外での利用実績も多数
•日本語での読み上げやSMS送信も可能
US or JP?
•USサイトと日本サイトがある
•http://www.twilio.com
•http://twilio.kddi-web.com
•日本サイトのSMSは準備中
•2013/05現在
How much?
•My電話番号 490円/月 or $1∼5/month
•電話をかける 0.25∼16円/分
•電話を受ける 0.25∼1円/分
•かけた側の通話料金も発生
•SMS 1.2¢/通
•無料トライアルアカウントもあり
TwiML?
•Twilioの挙動を定義するXML
•ただし音声通話向けなので、今回は
使いません
Rails + SMS個人認証
の作り方
SMS個人認証って?
•アプリでランダムな認証コードを作成
•携帯電話に認証コードを送信
•ユーザの入力したコードが同じならOK
•手軽に本人確認が可能
SMSの考慮点
•国際SMSになってしまう(2013/05現在)
•様々な制約から100%届く保証がない
•日本のTwlioさん、期待してます!
•携帯電話を持っていないとNG
•解決策: サポートセンターでフォロー
開発の準備
1. USサイトでアカウントを作る
2. My電話番号を購入 ($1/month)
•トライアルアカウントは使えない
•+1ではじまるUSの電話番号を選択
3. 電話番号に加え、下記の情報を確認
•AccountSID, AuthToken
Rails側の処理フロー
1. フォームデータを保存
2. 認証コードを作成、保存
3. SMSで認証コードを送信
4. 認証コードが一致することを検証
Model (1/2)
class	
  PresentEntry
database	
  columns
:verification_code
:verified
attr_accessor
:verification_code_confirmation
Model (2/2)
class	
  PresentEntry
after_create
issue_verification_code()
send_verification_code()
verify_and_save()
実際のコード
RSpec?
•sms-specというGemが便利
•自動的にMockを作成
•送信メッセージの検証も可能
まとめ
What’s Twilio?
•電話やSMSのAPIを提供するサービス
•アプリで音声通話やSMSが操れる!
•電話をかける/受けることも可能
•米Twilio社がサービスを開発、提供
開発の準備
1. USサイトでアカウントを作る
2. My電話番号を購入 ($1/month)
•トライアルアカウントは使えない
•+1ではじまるUSの電話番号を選択
3. 電話番号に加え、下記の情報を確認
•AccountSID, AuthToken
Rails側の処理フロー
1. フォームデータを保存
2. 認証コードを作成、保存
3. SMSで認証コードを送信
4. 認証コードが一致することを検証
Where’s the code?
•コードはGitHubに置いてあります。
•https://github.com/JunichiIto/
twilio-sms-verification
Questions?
#sg_study でツイート
してください
次回予告
Next?
•「MailChimpでメールマーケティング」
•技術者向けの概要説明
•Railsアプリへの組み込み方
•講師は若きCTO @mat_aki
•Doorkeeperでぜひメール登録を!
Thank you.
Twilio+rails+sms #sg_study

More Related Content

PDF
It技術者に役立つ太極拳理論
PPTX
僕が勉強会でやりたいこと
PPTX
IoTの原点
PPTX
第1回yokotter会議配布用20091230
PPTX
危機管理コンテスト1次予選ver2016
PDF
セキュリティ&プログラミングキャンプに行こう!
PDF
Twilioが動いているところを見てみよう(仮)
PDF
とある診断員とAWS
It技術者に役立つ太極拳理論
僕が勉強会でやりたいこと
IoTの原点
第1回yokotter会議配布用20091230
危機管理コンテスト1次予選ver2016
セキュリティ&プログラミングキャンプに行こう!
Twilioが動いているところを見てみよう(仮)
とある診断員とAWS

More from Junichi Ito (11)

PDF
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
PDF
About Nishiwaki.rb and Kobe.rb
PDF
田舎からリモートで働くという生き方
PDF
CodeIQベストコード発表会 #sg_study
PDF
How to upgrade your rails application to rspec3
PDF
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
PDF
give IT a try 読者向けオフ会
PDF
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
PDF
なぜ私はソニックガーデンのプログラマに転身できたのか?
PDF
Procon 20111031
PDF
The FizzBuzz Programing Contest
起業するっておもしろい!~子育て中の主婦が突然パン屋を始めました~
About Nishiwaki.rb and Kobe.rb
田舎からリモートで働くという生き方
CodeIQベストコード発表会 #sg_study
How to upgrade your rails application to rspec3
「RSpec初心者に送るRSpec最強チュートリアル」発表資料 #sg_study
give IT a try 読者向けオフ会
なぜ私はソニックガーデンのプログラマに転身できたのか?(Short ver.)
なぜ私はソニックガーデンのプログラマに転身できたのか?
Procon 20111031
The FizzBuzz Programing Contest
Ad

Twilio+rails+sms #sg_study