Firebase Phone Authentication を使用して PHP セキュリティ認証を実装する

PHPz
リリース: 2023-07-25 13:10:01
オリジナル
1456 人が閲覧しました

Firebase Phone Authentication を使用して PHP セキュリティ検証を実装する

概要:
Web アプリケーションを開発する場合、セキュリティ検証は非常に重要なリンクです。ユーザーの ID とデータのセキュリティを確保するには、ユーザーがログインしたり機密性の高い操作を実行したりするときに認証する必要があります。 Firebase Phone Authentication は、携帯電話番号認証の実装に役立つ強力な認証ソリューションです。この記事では、Firebase Phone Authentication と PHP を使用してセキュリティ検証を実装する方法を紹介します。

ステップ 1: 準備

  1. Firebase アカウントを登録し、新しい Firebase プロジェクトを作成します。
  2. Firebase コンソールで、「電話認証」機能を有効にします。
  3. Web ページを作成し、Firebase の JavaScript SDK を導入します。

    <script src="https://www.gstatic.com/firebasejs/7.8.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/7.8.1/firebase-auth.js"></script>
    ログイン後にコピー

ステップ 2: Firebase Phone 認証の統合

  1. Firebase 送信の送信など、Firebase Phone 認証に関連する操作を処理する PHP ファイルを作成する検証コード、検証コードなど。通信にはFirebaseが提供するREST APIを使用します。

    <?php
     $phone_number = $_POST['phone_number'];
     $recaptcha_token = $_POST['recaptcha_token'];
    
     $request_body = [
         'phoneNumber' => $phone_number,
         'recaptchaToken' => $recaptcha_token
     ];
    
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_URL, 'https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=[YOUR_API_KEY]');
     curl_setopt($ch, CURLOPT_POST, 1);
     curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($request_body));
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
     $response = curl_exec($ch);
     curl_close($ch);
    
     echo $response;
    ?>
    ログイン後にコピー

    注: 上記のコードの [YOUR_API_KEY] は、Firebase コンソールで生成した API キーに置き換える必要があります。

ステップ 3: フロントエンド コードの作成

  1. 携帯電話番号を入力してトリガーするためのテキスト ボックスとボタンを Web ページ上に作成します。検証コードの送信操作。

    <input type="text" id="phone_number_input">
    <button onclick="sendVerificationCode()">发送验证码</button>
    ログイン後にコピー
  2. ボタンをクリックしたイベントを処理し、携帯電話番号をサーバーに送信する JavaScript 関数を作成します。

    function sendVerificationCode() {
     var phoneNumber = document.getElementById('phone_number_input').value;
     var recaptchaToken = 'YOUR_RECAPTCHA_TOKEN';
    
     var request = new XMLHttpRequest();
     request.open('POST', 'path/to/your/php/file.php');
     request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    
     request.onreadystatechange = function() {
         if (request.readyState === XMLHttpRequest.DONE && request.status === 200) {
             var response = JSON.parse(request.responseText);
             if (response.hasOwnProperty('error')) {
                 console.log('发送验证码失败:' + response.error.message);
             } else {
                 console.log('验证码已发送,请查收。');
             }
         }
     }
    
     var requestBody = 'phone_number=' + encodeURIComponent(phoneNumber) + '&recaptcha_token=' + encodeURIComponent(recaptchaToken);
     request.send(requestBody);
    }
    ログイン後にコピー

    注: 悪意のある操作を防ぐために、上記のコードの YOUR_RECAPTCHA_TOKEN を reCAPTCHA サイト キーに置き換える必要があります。

ステップ 4: 確認コードを確認する

  1. Web ページ上に別のテキスト ボックスとボタンを作成して、確認コードを入力し、確認検証をトリガーします。コード操作。

    <input type="text" id="verification_code_input">
    <button onclick="verifyVerificationCode()">验证验证码</button>
    ログイン後にコピー
  2. ボタンのクリック イベントを処理する JavaScript 関数を作成し、検証のために検証コードを Firebase に送信します。

    function verifyVerificationCode() {
     var verificationCode = document.getElementById('verification_code_input').value;
    
     var credential = firebase.auth.PhoneAuthProvider.credential(window.confirmationResult.verificationId, verificationCode);
     firebase.auth().signInWithCredential(credential)
         .then(function() {
             console.log('验证成功!'); // 验证成功后的操作
         })
         .catch(function(error) {
             console.log('验证失败:' + error.message);
         });
    }
    ログイン後にコピー

これまでに、Firebase Phone Authentication を使用して PHP セキュリティ検証を実装するためのすべての手順が完了しました。ここで、ユーザーが「認証コードを送信」ボタンをクリックすると、認証コードがユーザーの電話に送信されます。ユーザーが認証コードを入力した後、「認証コードを認証する」ボタンをクリックして認証します。

概要:
Firebase Phone Authentication は、PHP セキュリティ検証を実装するためのシンプルかつ強力な方法を提供します。 PHP と Firebase の REST API を組み合わせることで、ユーザー認証を簡単に実装し、アプリケーション内でユーザーのデータを安全に保つことができます。この記事がお役に立てば幸いです!

以上がFirebase Phone Authentication を使用して PHP セキュリティ認証を実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート