【Bubble】BubbleでSMS認証(2段階認証)を実装する方法

こんにちは!

EPICs株式会社です。

本記事では、Bubble を用いてSMS認証(2段階認証)を実装する手順を解説します。

※​SMSメッセージの送信方法については既に理解していることを前提としています。​

また、本メディアを運営する「EPICs株式会社」では、ノーコードを活用したアプリ・システム開発を行っております。

従来のスクラッチ開発に比べ、ノーコードツールを活用した開発には以下のメリットがあります。

  • 開発期間をおよそ1/3に抑えられる → 検証や新規事業に向いている
  • 開発費用をおよそ1/3に抑えられる → 浮いた費用を別の領域に利用できる
  • リリース後の改修スピードも早い → PDCAを早く回せる

日本最大級のノーコード開発実績を持つ弊社なら、高度なものもスピーディーに開発することが可能です。ぜひご相談ください。

EPICs株式会社の特徴
  • 日本最大級のノーコード開発実績 → 高度な開発もスピーディー
  • 複数のノーコードツールに対応 → 最適なツール選びで開発費用・期間を最大限抑えられる
  • マーケティングまで支援が可能
目次

前提条件

  • SMS送信機能の実装:​TwilioやClickSendなどのサービスを利用して、BubbleからSMSを送信する方法が既に実装されていること。​

実装手順

以下の手順で実装します。

  1. ランダムな認証コードの生成:​ユーザーごとに一意のコードを生成します。​
  2. 認証コードの送信:​生成したコードをユーザーの電話番号にSMSで送信します。​
  3. ユーザー入力の検証:​ユーザーが入力したコードと送信したコードを比較し、一致すれば認証成功とします。​

1. Random Number Generatorプラグインのインストール

認証コードを生成するために、Random Number Generator プラグインを使用します。​

  1. プラグインのインストール
    • Bubbleエディターの左サイドバーから「Plugins」を選択し、「Add plugins」をクリックします。​
    • 検索バーに「Random Number Generator」と入力し、該当のプラグインをインストールします。​

2. Random Numberエレメントの配置と設定

インストールしたプラグインをページ上に配置し、認証コードの生成範囲を設定します。​

  1. エレメントの配置
    • 「Design」タブを開き、Visual Elementsから「Random Number」をページ上の任意の場所にドラッグ&ドロップします。​
  2. エレメントの設定
    • 配置した「Random Number」エレメントを選択し、右側のプロパティエディターで以下の設定を行います:​
      • Minimum:生成する最小値(例:1000)
      • Maximum:生成する最大値(例:9999)

3.カスタムステートの設定

生成した認証コードを一時的に保持するためのカスタムステートを設定します。​

  1. カスタムステートの作成
    • ページ全体、もしくは特定のエレメントに対してカスタムステートを作成します。​
    • State Name:​任意の名前(例:AuthCode)​
    • Type:​Number​Qiita

4. ワークフローの構築

ユーザーが認証を開始した際に、認証コードを生成し、SMSで送信するワークフローを設定します。​

  1. ワークフローの作成
    • 「Workflow」タブを開き、ユーザーのアクション(例:ボタンのクリック)に応じて新しいワークフローを作成します。​
  2. ステップ1:認証コードの生成
  3. ステップ2:認証コードのSMS送信
    • Action:​Plugins > Twilio – Send text message(Twilioを使用する場合)​
    • To:​ユーザーの電話番号​
    • From:​Twilioで取得した送信元番号​
    • Body:​Your authentication code is [AuthCode]​

5.認証コードの検証

ユーザーが入力した認証コードと、送信したコードを比較し、一致するかを検証します。

認証コード入力用のフィールドを作成

  1. Design タブを開く
  2. 「Input」エレメントを追加し、以下の設定を行う
    • 名称Input 認証コード
    • Placeholder(プレースホルダー):「認証コードを入力してください」
    • TypeNumber(数値)
    • 最大桁数:認証コードの桁数に合わせる(例:4桁なら9999)

ワークフローの作成(認証コードの検証)

  1. 「Workflow」タブを開く
  2. 「認証を確認するボタン」がクリックされたときのワークフローを作成
    • 「Click here to add an event」→「Elements」→「An element is clicked」→ Button 確認

認証コードの検証

  1. 新しいアクションを追加
    • 「Click here to add an action」→「Data」→「Make changes to thing」

条件(Only when)を設定
Input 認証コードの値 = Custom State(AuthCode)の値

  • 処理(成功時)
    • ユーザーのステータスを「認証済み」に更新
    • 次のページへ遷移(Go to page)
    • 成功メッセージを表示(Show alert:「認証に成功しました!」)
  1. 認証失敗時の処理

条件(Only when)を設定

Input 認証コードの値 ≠ Custom State(AuthCode)の値

  • 処理
    • エラーメッセージを表示(Show alert:「認証コードが間違っています。」)

4. 「Only when」条件に設定する内容

Input 認証コードの値 = Custom State(AuthCode)の値

  • この条件が満たされた場合(成功時)
    • ユーザーを「次の画面」にナビゲートする
  • この条件が満たされなかった場合(失敗時)
    • 「エラーメッセージ」を表示する
<無料>資料ダウンロード
【ノーコード開発】お役立ち資料3点セット
「ノーコード開発会社の選び方」「EPICs株式会社ノーコード開発の実績集」
「受託開発サービス概要」が同梱されたお役立ち資料セット

    氏名


    法人名

    メールアドレス

    電話番号

    送信ボタンを押すことで、個人情報の取扱いについてに同意したとみなされます

    SMS認証の全体の流れ

    今回の実装手順を改めて整理します。

    1. ユーザーが電話番号を入力し、「認証コードを送信」ボタンをクリック
    2. ランダムな認証コードが生成される
    3. 認証コードがSMSで送信される
    4. ユーザーがSMSで受け取ったコードを入力
    5. 認証コードの検証を行い、一致すれば認証成功(次の画面へ遷移)

    以上の手順でBubbleでSMS認証を実装できます!

    【日本最大級のノーコード開発実績】
    無料でアプリ・システム開発の相談を受付中

      氏名

      法人名

      メールアドレス

      日中繋がりやすい電話番号

      お問い合わせ詳細 ※分かる範囲でご記入ください

      フォームの送信によりGoogleのプライバシーポリシー利用規約に同意したものとみなされます。

      日本最大級のノーコード開発実績!アプリ・システム開発サービス
      「勉強になった!」「役に立った!」と思っていただけたら、是非シェアもお願いします!
      ノーコード開発ツールを使ったアプリ・システム開発にお困りですか?
      1からの開発も、途中からの開発も、お気軽にEPICsにご相談ください!
      著者・監修者
      大熊滉希
      日本最大級のノーコード開発実績を誇るEPICs株式会社の代表。株式会社DRAFT役員として新規事業のコンサルティングに従事した後、EPICsを創業。ノーコード開発の顧問として上場企業に支援も行っている。
      監修者
      石森裕也
      EPICs株式会社CTO。サイバーエージェントのグループ会社での経験を経てEPICsに参画した。これまでで100件以上のノーコード開発に従事。開発経験は10年。
      目次