👋

飲食店や法人などがSMS認証を共有する冴えた方法

2022/12/11に公開

SMSを使った認証が一般的になりました。インスタグラムやLINEなどのサービスは電話番号をつくることができず、また登録できてもセキュリティ強化のため二段階認証を導入しようとするとSMS認証を求められます。そういったサービスは携帯電話を持っており、手元にあること前提でサービス設計がされるあたり、携帯電話とSMSがとても広く普及したことがわかります。

ただ一方で、個人ではなく、お店や法人がサービスを利用する際のSMS認証はハードルが立ちふさがります。SMS認証が必要なサービスを業務で利用していたとして、例えば代表者の電話番号でSMS認証をしていた場合、「都度、代表者に届いたSMSを教えてもらわないといけない」という手間が生まれます。じゃあ担当スタッフの電話番号でしたらいいのかとなると、退職した時、当該サービスが利用できなくなります。

「個人に依存するのが悪いから、店舗にSMS認証用のスマホを設置する」場合はどうでしょうか。この場合、 SMS認証を行う人は必ず当該機が手元にないといけない という問題が起きます。なので、出張中に確認しようと思うと、やっぱり都度誰かその当該機の近くにいる人に質問する必要が生まれてしまいます。

ということを何とかできないかと相談されてアプリ制作で解決できないのかと思ったのですが

https://zenn.dev/kawabatas/articles/e996a7d59eeadf

Twilioで取得した番号をSMS認証用に利用するのは禁止だったり、別記事では海外電話番号だとそもそも国内サービスを利用できないことが多いと紹介されてたり、

https://www.xoxzo.com/ja/about/pricing/

そういったSMS認証用の電話番号を利用できるサービスをみると初期導入で37,500円、月額7,500円。これは認証のために支払う金額としてはちょっとありえない。

で、いろいろ調べてたのですが、Androidには「SMS転送アプリ」というものがあるんですね!!

https://play.google.com/store/apps/details?id=com.frzinapps.smsforward&hl=ja&gl=US&pli=1

AndroidではブロードレシーバーというAPIがあり、インストールしたアプリからSMSの受信を監視できるそうです。 android.provider.Telephony.SMS_RECEIVED らしい。知らなかったので驚いた。
上記のfrzindevはそれを用いた転送アプリで、複数のデバイス間でSMSや通知を共有できるとのこと。メールアドレスに転送できる!やったー!!

なので、実際に相談を受けたお店に提案しようとしてる構成は以下の通りです。

  1. frzindevをインストールできる格安のAndroid機種を用意する
  2. auのpovo(基本料金0円!)をその機種で契約する
  3. SMS認証用のGmailを用意する
  4. frzindevをインストールして、SMS認証用のGmailに転送設定する

これで準備完了です。そして、実際にSMS認証を行うとこうなります。

  1. SMSが当該機種に届く
  2. frzindevがSMSをGmailに転送する
  3. 全員がGmailでSMSを読むことができる!!

必要ならGmailから全スタッフに転送してもいいですね。そうするとスタッフがやめた時、転送設定をなくすだけでSMSにアクセスできなくなる。SMSをSMSとして扱いたい人は転送先を電話番号にすればいいですし、Gmail経由でなくfrzindev上で転送先をすべて管理しちゃうのもありだと思います。

飲食店や法人などがSMS認証を共有する必要があって困ってる時はぜひ参考になれば幸いです。それではまた。

Discussion