🤖

MagicPodでSMS認証を突破した話

2024/12/30に公開

概要

株式会社FiTでは、自社で開発・運営を行っているスマホアプリLifeFitの開発効率化を目的として2024年2月からMagicPodを導入しています
本記事では、運用の中で一番頭を悩ませたと言っても過言ではない、SMS認証をどのように突破したかを紹介します

背景

LifeFitでは、会員登録などの際にSMSを使用した二要素認証が必須となっています
一方、MagicPodで対応している認証方法は以下となっており、SMS認証には対応していません(執筆時点)

対応している認証方法
Google AuthenticatorやAuthyなどの認証用アプリでQRコードを読み取ることで、アプリに表示されるパスコードを入力するとログインできるタイプの認証であればOKです。
メールを使用した認証は、送信されたメールからコードを取得することで自動化できます。 メールテストの自動化を設定するには、このページを参照してください。
SMSの認証には対応していません。
https://support.magic-pod.com/hc/ja/articles/4408918213913

そこで、どうにかしてコストと手間をかけずにSMS認証を突破できる方法を熟慮し、今回ご紹介する方法を閃きました🌟

全体像

全体像がこちらになります
スマホで受信したSMSをメールに転送し、MagicPodから取得しています
以降で各プロセスについてポイントを説明します

全体像

SMS受信

実際にSMSを受信できる状態のAndroid端末を用意します
バッテリー切れなどでSMSが受信できないとテストが失敗してしまうため、電源を確保し、常時起動している状態にしておきます

メール転送

SMSを受信する端末にIFTTTというアプリをインストールし、以下のアプレットを作成して、受信したSMSを指定したメールアドレスに転送するように設定します

項目 設定内容 説明
トリガー トリガーフィールド KeywordにSMS認証で送信されるSMSを特定できる文字列(タイトル等)を設定
アクション アクションフィールド To addressに送信先のメールアドレスを設定
SubjectBodyは後で検索しやすように設定

メール取得

MagicPodのWebAPIコールコマンドを使用して、転送したメールから認証コードを取得します
設定・手順等はMagicPodのヘルプセンターにまとまっていますので、そちらをご参照ください

まとめ

IFTTTを使うことで、コストと手間をかけずに、MagicPodの基本機能のみでSMS認証を突破することができました🎉
SMSを使用した二要素認証が設けられているサービスは多いと思いますので、SMS認証を突破できず、MagicPodでの自動化を断念した方の参考になれば幸いです!

Discussion