জাভাস্ক্রিপ্ট ব্যবহার করে একটি ফোন নম্বর দিয়ে ফায়ারবেস দিয়ে প্রমাণীকরণ করুন

আপনি ব্যবহারকারীর ফোনে একটি এসএমএস বার্তা পাঠিয়ে ব্যবহারকারীর সাইন ইন করতে Firebase প্রমাণীকরণ ব্যবহার করতে পারেন। ব্যবহারকারী এসএমএস বার্তায় থাকা এককালীন কোড ব্যবহার করে সাইন ইন করে।

ফোন নম্বর সাইন-ইন যোগ করার জন্য সবচেয়ে সহজ উপায় এ আপনার অ্যাপ্লিকেশান ব্যবহার করা FirebaseUI , যা একটি ড্রপ-ইন রয়েছে উইজেট সাইন-ইন কার্যকরী ফোন নম্বরের জন্য সাইন-ইন করে সাইন ইন প্রবাহগুলি, সেইসাথে পাসওয়ার্ড-ভিত্তিক ও ফেডারেট চিহ্ন -ভিতরে. এই নথিতে বর্ণনা করা হয়েছে কিভাবে Firebase SDK ব্যবহার করে একটি ফোন নম্বর সাইন-ইন প্রবাহ বাস্তবায়ন করতে হয়।

তুমি শুরু করার আগে

যদি আপনি এমনটি না থাকে, তাহলে থেকে আরম্ভের স্নিপেট কপি Firebase কনসোল বর্ণনা অনুযায়ী আপনার প্রকল্পে আপনার জাভাস্ক্রিপ্ট প্রকল্প Firebase যোগ

নিরাপত্তা উদ্বেগ

শুধুমাত্র একটি ফোন নম্বর ব্যবহার করে প্রমাণীকরণ, সুবিধাজনক অবস্থায়, অন্যান্য উপলব্ধ পদ্ধতির তুলনায় কম নিরাপদ, কারণ একটি ফোন নম্বর দখল করা ব্যবহারকারীদের মধ্যে সহজেই স্থানান্তরিত হতে পারে। এছাড়াও, একাধিক ব্যবহারকারীর প্রোফাইল সহ ডিভাইসগুলিতে, যে কোনও ব্যবহারকারী এসএমএস বার্তা পেতে পারে সে ডিভাইসের ফোন নম্বর ব্যবহার করে অ্যাকাউন্টে সাইন ইন করতে পারে।

আপনি যদি আপনার অ্যাপে ফোন নম্বর ভিত্তিক সাইন-ইন ব্যবহার করেন, তাহলে আপনাকে আরো নিরাপদ সাইন-ইন পদ্ধতির পাশাপাশি এটি প্রদান করা উচিত এবং ব্যবহারকারীদের ফোন নম্বর সাইন-ইন ব্যবহার করার নিরাপত্তা ট্রেড অফ সম্পর্কে অবহিত করা উচিত।

আপনার Firebase প্রকল্পের জন্য ফোন নম্বর সাইন-ইন সক্ষম করুন

এসএমএসের মাধ্যমে ব্যবহারকারীদের সাইন ইন করতে, আপনাকে প্রথমে আপনার ফায়ারবেস প্রকল্পের জন্য ফোন নম্বর সাইন-ইন পদ্ধতি সক্ষম করতে হবে:

  1. ইন Firebase কনসোল , প্রমাণীকরণ অধ্যায় খুলুন।
  2. সাইন ইন করার পদ্ধতি পৃষ্ঠায়, ফোন নম্বর সাইন-ইন পদ্ধতি সক্ষম করুন।
  3. একই পৃষ্ঠায়, যদি ডোমেইন যে আপনার অ্যাপ হোস্ট হবে OAuth এর পুনর্নির্দেশ ডোমেইনের বিভাগে তালিকাভুক্ত করা হয় না, আপনার ডোমেন যোগ করুন।

ফায়ারবেসের ফোন নম্বর সাইন-ইন রিকোয়েস্ট কোটা যথেষ্ট বেশি যে অধিকাংশ অ্যাপই প্রভাবিত হবে না। যাইহোক, যদি আপনার ফোন প্রমাণীকরণের সাথে ব্যবহারকারীদের খুব বেশি পরিমাণে সাইন ইন করার প্রয়োজন হয়, তাহলে আপনাকে আপনার মূল্য পরিকল্পনা আপগ্রেড করতে হতে পারে। দেখুন মূল্যের পাতা।

ReCAPTCHA যাচাইকারী সেট আপ করুন

ব্যবহারকারীদের ফোন নম্বর দিয়ে সাইন -ইন করার আগে, আপনাকে অবশ্যই Firebase- এর reCAPTCHA ভেরিফায়ার সেট -আপ করতে হবে। ফায়ারবেস অপব্যবহার রোধ করতে reCAPTCHA ব্যবহার করে, যেমন নিশ্চিত করে যে ফোন নম্বর যাচাইকরণের অনুরোধ আপনার অ্যাপের অনুমোদিত ডোমেনগুলির মধ্যে একটি থেকে এসেছে।

আপনি একটি reCAPTCHA ক্লায়েন্ট ম্যানুয়ালি সেট আপ করার প্রয়োজন নেই; যখন আপনি Firebase SDK এর এর ব্যবহার RecaptchaVerifier বস্তু, Firebase স্বয়ংক্রিয়ভাবে তৈরি করে এবং যে কোনো প্রয়োজনীয় ক্লায়েন্ট কী ও গোপন পরিচালনা করে।

RecaptchaVerifier বস্তুর সমর্থন অদৃশ্য তথ্যের , যা প্রায়ই কোনো ব্যবহারকারী কর্ম প্রয়োজন ছাড়া ব্যবহারকারী যাচাই করতে পারেন, সেইসাথে আরো তথ্যের উইজেট, যা সবসময় ব্যবহারকারী পারস্পরিক ক্রিয়ার প্রয়োজন সফলভাবে সম্পন্ন করার জন্য।

ReCAPTCHA রেন্ডার করার আগে Auth উদাহরণে ভাষা কোড আপডেট করে অন্তর্নিহিত রেন্ডার্ড reCAPTCHA ব্যবহারকারীর পছন্দ অনুযায়ী স্থানীয়করণ করা যেতে পারে। পূর্বোক্ত স্থানীয়করণ ব্যবহারকারীর কাছে পাঠানো এসএমএস বার্তায়ও প্রযোজ্য হবে, যাচাইকরণ কোড সহ।

ওয়েব সংস্করণ 9

import { getAuth } from "firebase/auth";

const auth = getAuth();
auth.languageCode = 'it';
// To apply the default browser preference instead of explicitly setting it.
// firebase.auth().useDeviceLanguage();

ওয়েব সংস্করণ 8

firebase.auth().languageCode = 'it';
// To apply the default browser preference instead of explicitly setting it.
// firebase.auth().useDeviceLanguage();

অদৃশ্য reCAPTCHA ব্যবহার করুন

অদৃশ্য তথ্যের ব্যবহার করার জন্য, একটি তৈরি RecaptchaVerifier সঙ্গে বস্তুর size পরামিতি সেট invisible , বোতাম যে আপনার সাইন-ইন জমা ফর্মের আইডি উল্লেখ। উদাহরণ স্বরূপ:

ওয়েব সংস্করণ 9

import { getAuth, RecaptchaVerifier } from "firebase/auth";

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier('sign-in-button', {
  'size': 'invisible',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    onSignInSubmit();
  }
}, auth);

ওয়েব সংস্করণ 8

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('sign-in-button', {
  'size': 'invisible',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    onSignInSubmit();
  }
});

ReCAPTCHA উইজেট ব্যবহার করুন

দৃশ্যমান তথ্যের উইজেট ব্যবহার করতে, উইজেট রয়েছে বলে আপনার পৃষ্ঠায় একটি উপাদান তৈরি, এবং তারপর একটি তৈরি RecaptchaVerifier বস্তু, পাত্রের আইডি উল্লেখ যখন আপনি তা করেন। উদাহরণ স্বরূপ:

ওয়েব সংস্করণ 9

import { getAuth, RecaptchaVerifier } from "firebase/auth";

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier('recaptcha-container', {}, auth);

ওয়েব সংস্করণ 8

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');

Ptionচ্ছিক: reCAPTCHA পরামিতি নির্দিষ্ট করুন

আপনি ঐচ্ছিকভাবে উপর কলব্যাক ফাংশন সেট করতে পারেন RecaptchaVerifier বস্তু যখন ব্যবহারকারী সমাধান তথ্যের বা আরো তথ্যের ব্যবহারকারী জমা ফর্ম আগে মেয়াদ শেষ বলা হয়:

ওয়েব সংস্করণ 9

import { getAuth, RecaptchaVerifier } from "firebase/auth";

const auth = getAuth();
window.recaptchaVerifier = new RecaptchaVerifier('recaptcha-container', {
  'size': 'normal',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    // ...
  },
  'expired-callback': () => {
    // Response expired. Ask user to solve reCAPTCHA again.
    // ...
  }
}, auth);

ওয়েব সংস্করণ 8

window.recaptchaVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container', {
  'size': 'normal',
  'callback': (response) => {
    // reCAPTCHA solved, allow signInWithPhoneNumber.
    // ...
  },
  'expired-callback': () => {
    // Response expired. Ask user to solve reCAPTCHA again.
    // ...
  }
});

Ptionচ্ছিক: reCAPTCHA প্রি-রেন্ডার

আপনি পূর্বে রেন্ডার করতে আরো তথ্যের আগে আপনি একটি সাইন ইন অনুরোধ জমা চান, কল render :

ওয়েব সংস্করণ 9

recaptchaVerifier.render().then((widgetId) => {
  window.recaptchaWidgetId = widgetId;
});

ওয়েব সংস্করণ 8

recaptchaVerifier.render().then((widgetId) => {
  window.recaptchaWidgetId = widgetId;
});

পরে render সমাধান করা, আপনি আরো তথ্যের এর উইজেট আইডি, যা আপনি কল করতে ব্যবহার করতে পারেন পেতে আরো তথ্যের এপিআই:

ওয়েব সংস্করণ 9

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

ওয়েব সংস্করণ 8

const recaptchaResponse = grecaptcha.getResponse(recaptchaWidgetId);

ব্যবহারকারীর ফোনে একটি যাচাইকরণ কোড পাঠান

শুরু করতে ফোন নম্বর যে তাদের অনুরোধ জানানো তাদের ফোন নম্বর প্রদান সাইন-ইন, ব্যবহারকারী একটি ইন্টারফেস উপস্থিত, এবং তারপর কল signInWithPhoneNumber অনুরোধ যে Firebase SMS এর মাধ্যমে ব্যবহারকারীর ফোন থেকে একটি প্রমাণীকরণ কোড পাঠাতে:

  1. ব্যবহারকারীর ফোন নম্বর পান।

    আইনি প্রয়োজনীয়তাগুলি পরিবর্তিত হয়, কিন্তু একটি সর্বোত্তম অনুশীলন হিসাবে এবং আপনার ব্যবহারকারীদের জন্য প্রত্যাশা নির্ধারণ করার জন্য, আপনাকে তাদের জানানো উচিত যে যদি তারা ফোন সাইন-ইন ব্যবহার করে, তারা যাচাইকরণের জন্য একটি এসএমএস বার্তা পেতে পারে এবং প্রমিত হার প্রযোজ্য হতে পারে।

  2. কল signInWithPhoneNumber , এটা ব্যবহারকারীর ফোন নম্বর ক্ষণস্থায়ী এবং RecaptchaVerifier আপনি আগে তৈরি করা হয়েছে।

    ওয়েব সংস্করণ 9

    import { getAuth, signInWithPhoneNumber } from "firebase/auth";
    
    const phoneNumber = getPhoneNumberFromUserInput();
    const appVerifier = window.recaptchaVerifier;
    
    const auth = getAuth();
    signInWithPhoneNumber(auth, phoneNumber, appVerifier)
        .then((confirmationResult) => {
          // SMS sent. Prompt user to type the code from the message, then sign the
          // user in with confirmationResult.confirm(code).
          window.confirmationResult = confirmationResult;
          // ...
        }).catch((error) => {
          // Error; SMS not sent
          // ...
        });

    ওয়েব সংস্করণ 8

    const phoneNumber = getPhoneNumberFromUserInput();
    const appVerifier = window.recaptchaVerifier;
    firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
        .then((confirmationResult) => {
          // SMS sent. Prompt user to type the code from the message, then sign the
          // user in with confirmationResult.confirm(code).
          window.confirmationResult = confirmationResult;
          // ...
        }).catch((error) => {
          // Error; SMS not sent
          // ...
        });
    তাহলে signInWithPhoneNumber একটি ত্রুটি ফলাফল, তথ্যের রিসেট তাই ব্যবহারকারী আবার চেষ্টা করতে পারেন:
    grecaptcha.reset(window.recaptchaWidgetId);
    
    // Or, if you haven't stored the widget ID:
    window.recaptchaVerifier.render().then(function(widgetId) {
      grecaptcha.reset(widgetId);
    }
    

signInWithPhoneNumber পদ্ধতি বিষয় ব্যবহারকারীকে reCAPTCHA চ্যালেঞ্জ, এবং ব্যবহারকারী চ্যালেঞ্জ থাকে তাহলে অনুরোধ Firebase প্রমাণীকরণ ব্যবহারকারীর ফোনে একটি যাচাইকরণ কোড সহ একটি SMS বার্তা পাঠান যে।

ভেরিফিকেশন কোড দিয়ে ব্যবহারকারীর সাইন ইন করুন

থেকে কল করার পর signInWithPhoneNumber সফল হয়, যাচাইকরণ কোড তারা এসএমএস দ্বারা প্রাপ্ত টাইপ করতে ব্যবহারকারী চটপট। তারপর, কোড ক্ষণস্থায়ী দ্বারা ব্যবহারকারীর সাইন ইন confirm পদ্ধতি ConfirmationResult বস্তু প্রেরণ করা হত signInWithPhoneNumber এর সিদ্ধি হ্যান্ডলার (যে, তার then ব্লক)। উদাহরণ স্বরূপ:

ওয়েব সংস্করণ 9

const code = getCodeFromUserInput();
confirmationResult.confirm(code).then((result) => {
  // User signed in successfully.
  const user = result.user;
  // ...
}).catch((error) => {
  // User couldn't sign in (bad verification code?)
  // ...
});

ওয়েব সংস্করণ 8

const code = getCodeFromUserInput();
confirmationResult.confirm(code).then((result) => {
  // User signed in successfully.
  const user = result.user;
  // ...
}).catch((error) => {
  // User couldn't sign in (bad verification code?)
  // ...
});

যদি থেকে কল confirm সফল, ব্যবহারকারী সফলভাবে সাইন করা হয়েছে।

মধ্যবর্তী AuthCredential বস্তু পান

আপনি একটি পেতে প্রয়োজন যদি AuthCredential ব্যবহারকারীর অ্যাকাউন্টের জন্য বস্তু, নিশ্চিতকরণ ফলাফল থেকে যাচাইকরণ কোড এবং যাচাইকরণ কোড পাস PhoneAuthProvider.credential কলিং পরিবর্তে confirm :

var credential = firebase.auth.PhoneAuthProvider.credential(confirmationResult.verificationId, code);

তারপরে, আপনি ব্যবহারকারীর শংসাপত্র দিয়ে সাইন ইন করতে পারেন:

firebase.auth().signInWithCredential(credential);

কাল্পনিক ফোন নম্বর দিয়ে পরীক্ষা করুন

আপনি Firebase কনসোলের মাধ্যমে বিকাশের জন্য কাল্পনিক ফোন নম্বর সেট করতে পারেন। কাল্পনিক ফোন নম্বর দিয়ে পরীক্ষা করা এই সুবিধাগুলি প্রদান করে:

  • আপনার ব্যবহারের কোটা ব্যবহার না করে ফোন নম্বর প্রমাণীকরণ পরীক্ষা করুন।
  • আসল এসএমএস বার্তা না পাঠিয়ে ফোন নম্বর প্রমাণীকরণ পরীক্ষা করুন।
  • হতাশ না হয়ে একই ফোন নম্বর দিয়ে পরপর পরীক্ষা চালান। এটি অ্যাপ স্টোর পর্যালোচনা প্রক্রিয়ার সময় প্রত্যাখ্যানের ঝুঁকি হ্রাস করে যদি পর্যালোচক পরীক্ষার জন্য একই ফোন নম্বর ব্যবহার করে।
  • কোনও অতিরিক্ত প্রচেষ্টা ছাড়াই বিকাশ পরিবেশে সহজেই পরীক্ষা করুন, যেমন একটি আইওএস সিমুলেটরে বিকাশের ক্ষমতা বা গুগল প্লে সার্ভিস ছাড়া অ্যান্ড্রয়েড এমুলেটর।
  • সুরক্ষা চেক দ্বারা অবরুদ্ধ না হয়ে ইন্টিগ্রেশন পরীক্ষা লিখুন সাধারণত উত্পাদন পরিবেশে প্রকৃত ফোন নম্বরে প্রয়োগ করা হয়।

কাল্পনিক ফোন নম্বরগুলি অবশ্যই এই প্রয়োজনীয়তাগুলি পূরণ করতে হবে:

  1. নিশ্চিত করুন যে আপনি এমন ফোন নম্বর ব্যবহার করেছেন যা প্রকৃতপক্ষে কাল্পনিক এবং ইতিমধ্যে বিদ্যমান নেই। ফায়ারবেস প্রমাণীকরণ আপনাকে প্রকৃত ব্যবহারকারীদের দ্বারা ব্যবহৃত ফোন নম্বরগুলি পরীক্ষা নম্বর হিসাবে সেট করার অনুমতি দেয় না। একটি বিকল্প উদাহরণস্বরূপ, মার্কিন পরীক্ষা ফোন নম্বর যেমন 555 পূর্বে সমাধান সংখ্যা ব্যবহার করা: +1 টি 650-555-3434
  2. দৈর্ঘ্য এবং অন্যান্য সীমাবদ্ধতার জন্য ফোন নম্বর সঠিকভাবে ফরম্যাট করতে হবে। তারা এখনও একটি বাস্তব ব্যবহারকারীর ফোন নম্বর হিসাবে একই বৈধতা মাধ্যমে যেতে হবে।
  3. আপনি উন্নয়নের জন্য 10 টি ফোন নম্বর যোগ করতে পারেন।
  4. পরীক্ষা ফোন নম্বর/কোডগুলি ব্যবহার করুন যা অনুমান করা কঠিন এবং ঘন ঘন পরিবর্তন করুন।

কাল্পনিক ফোন নম্বর এবং যাচাইকরণ কোড তৈরি করুন

  1. ইন Firebase কনসোল , প্রমাণীকরণ অধ্যায় খুলুন।
  2. যদি আপনি ইতিমধ্যেই না করে পদ্ধতি ট্যাবে সাইন ইন, ফোন প্রদানকারী সক্রিয় করুন।
  3. অ্যাকর্ডিয়ন মেনু পরীক্ষার জন্য ফোন নম্বরগুলি খুলুন।
  4. , আপনি পরীক্ষা করতে চান ফোন নম্বর প্রদান করুন উদাহরণস্বরূপ: +1 টি 650-555-3434।
  5. নির্দিষ্ট সংখ্যার জন্য 6-সংখ্যার যাচাইকরণ কোডটি, উদাহরণস্বরূপ: 654321।
  6. নম্বর জুড়ুন। যদি কোন প্রয়োজন হয়, আপনি সংশ্লিষ্ট সারির উপর ঘোরা এবং ট্র্যাশ আইকনে ক্লিক করে ফোন নম্বর এবং তার কোড মুছে ফেলতে পারেন।

ম্যানুয়াল পরীক্ষা

আপনি সরাসরি আপনার আবেদনে একটি কাল্পনিক ফোন নম্বর ব্যবহার শুরু করতে পারেন। এটি আপনাকে কোটা ইস্যু বা থ্রোটলিং না করেই বিকাশের পর্যায়ে ম্যানুয়াল পরীক্ষা করতে দেয়। আপনি গুগল প্লে সার্ভিস ইনস্টল না করেও সরাসরি একটি iOS সিমুলেটর বা অ্যান্ড্রয়েড এমুলেটর থেকে পরীক্ষা করতে পারেন।

যখন আপনি কাল্পনিক ফোন নম্বর প্রদান করেন এবং যাচাইকরণ কোড পাঠান, তখন প্রকৃত এসএমএস পাঠানো হয় না। পরিবর্তে, সাইন ইন সম্পন্ন করার জন্য আপনাকে পূর্বে কনফিগার করা যাচাইকরণ কোড প্রদান করতে হবে।

সাইন-ইন সম্পন্ন হলে, সেই ফোন নম্বর দিয়ে একটি Firebase ব্যবহারকারী তৈরি করা হয়। ব্যবহারকারীর আসল ফোন নম্বর ব্যবহারকারীর মতো একই আচরণ এবং বৈশিষ্ট্য রয়েছে এবং একইভাবে রিয়েলটাইম ডেটাবেস/ক্লাউড ফায়ারস্টোর এবং অন্যান্য পরিষেবা অ্যাক্সেস করতে পারে। এই প্রক্রিয়া চলাকালীন যে আইডি টোকেন মিন্ট করা হয়েছে, তার আসল ফোন নম্বর ব্যবহারকারীর মতোই স্বাক্ষর রয়েছে।

আরেকটি বিকল্প হয় মাধ্যমে কাস্টম দাবি একটি পরীক্ষা ভূমিকা নির্ধারণ করে এই ব্যবহারকারীদের উপর জাল ব্যবহারকারী হিসাবে তাদের পার্থক্য যদি আপনি আরও অ্যাক্সেস সীমাবদ্ধ করতে চান।

ইন্টিগ্রেশন টেস্টিং

ম্যানুয়াল টেস্টিং ছাড়াও, ফায়ারবেস প্রমাণীকরণ এপিআই প্রদান করে যাতে ফোন অথ পরীক্ষার জন্য ইন্টিগ্রেশন টেস্ট লিখতে সাহায্য করে। এই API গুলি ওয়েবে reCAPTCHA প্রয়োজনীয়তা এবং iOS- এ নীরব পুশ বিজ্ঞপ্তিগুলি অক্ষম করে অ্যাপ যাচাইকরণ অক্ষম করে। এটি এই প্রবাহগুলিতে অটোমেশন পরীক্ষা করা এবং বাস্তবায়ন করা সহজ করে তোলে। এছাড়াও, তারা অ্যান্ড্রয়েডে তাত্ক্ষণিক যাচাই প্রবাহ পরীক্ষা করার ক্ষমতা সরবরাহ করতে সহায়তা করে।

ওয়েব, সেটে appVerificationDisabledForTesting করার true রেন্ডারিং আগে firebase.auth.RecaptchaVerifier । এটি reCAPTCHA কে স্বয়ংক্রিয়ভাবে সমাধান করে, আপনাকে ফোন নম্বরটি ম্যানুয়ালি সমাধান না করে পাস করতে দেয়। মনে রাখবেন যে যদিও reCAPTCHA নিষ্ক্রিয় করা হয়েছে, একটি অ-কাল্পনিক ফোন নম্বর ব্যবহার করে এখনও সাইন ইন সম্পূর্ণ করতে ব্যর্থ হবে। কেবলমাত্র কাল্পনিক ফোন নম্বরগুলি এই API এর সাথে ব্যবহার করা যেতে পারে।

// Turn off phone auth app verification.
firebase.auth().settings.appVerificationDisabledForTesting = true;

var phoneNumber = "+16505554567";
var testVerificationCode = "123456";

// This will render a fake reCAPTCHA as appVerificationDisabledForTesting is true.
// This will resolve after rendering without app verification.
var appVerifier = new firebase.auth.RecaptchaVerifier('recaptcha-container');
// signInWithPhoneNumber will call appVerifier.verify() which will resolve with a fake
// reCAPTCHA response.
firebase.auth().signInWithPhoneNumber(phoneNumber, appVerifier)
    .then(function (confirmationResult) {
      // confirmationResult can resolve with the fictional testVerificationCode above.
      return confirmationResult.confirm(testVerificationCode)
    }).catch(function (error) {
      // Error; SMS not sent
      // ...
    });

দৃশ্যমান এবং অদৃশ্য মক reCAPTCHA অ্যাপ ভেরিফায়ারগুলি অন্যভাবে আচরণ করে যখন অ্যাপ যাচাইকরণ অক্ষম করা হয়:

  • দৃশ্যমান তথ্যের: যখন দৃশ্যমান তথ্যের মাধ্যমে পেশ করা হয়েছে appVerifier.render() , এটি স্বয়ংক্রিয়ভাবে নিজেই একটি দ্বিতীয় বিলম্ব ভগ্নাংশ পর সমাধান করা হয়েছে। এটি ব্যবহারকারীর রেন্ডারিংয়ের সাথে সাথেই reCAPTCHA ক্লিক করার সমতুল্য। ReCAPTCHA প্রতিক্রিয়া কিছু সময়ের পরে মেয়াদ শেষ হবে এবং তারপর আবার স্বয়ংক্রিয় সমাধান হবে।
  • অদৃশ্য তথ্যের: অদৃশ্য তথ্যের রেন্ডারিং না স্বয়ংক্রিয় সমাধান করে এবং পরিবর্তে তাই করে appVerifier.verify() কল বা আরো তথ্যের এর বোতাম নোঙ্গর একটি দ্বিতীয় বিলম্ব ভগ্নাংশ পর ক্লিক করা হয় না। একইভাবে, প্রতিক্রিয়া কিছু সময় পরে এর মেয়াদ শেষ এবং হবে শুধুমাত্র স্বয়ংক্রিয় সমাধান পারেন পর হবে appVerifier.verify() কল অথবা যখন তথ্যের এর বোতাম নোঙ্গর ক্লিক করা হয় আবার।

যখনই একটি মক reCAPTCHA সমাধান করা হয়, অনুরূপ কলব্যাক ফাংশনটি জাল প্রতিক্রিয়া সহ প্রত্যাশিত হিসাবে চালু হয়। যদি একটি মেয়াদোত্তীর্ণ কলব্যাকও নির্দিষ্ট করা হয়, এটি মেয়াদ শেষ হওয়ার সময় ট্রিগার করবে।

পরবর্তী পদক্ষেপ

একজন ব্যবহারকারী প্রথমবার সাইন ইন করার পর, একটি নতুন ব্যবহারকারী অ্যাকাউন্ট তৈরি করা হয় এবং শংসাপত্রের সাথে সংযুক্ত করা হয় - অর্থাৎ ব্যবহারকারীর নাম এবং পাসওয়ার্ড, ফোন নম্বর, বা স্বাক্ষর প্রদানকারীর তথ্য — ব্যবহারকারী সাইন ইন করেছেন। এই নতুন অ্যাকাউন্টটি আপনার ফায়ারবেস প্রকল্পের অংশ হিসাবে সংরক্ষণ করা হয়েছে এবং ব্যবহারকারী যেভাবে সাইন ইন করুক না কেন আপনার প্রকল্পের প্রতিটি অ্যাপ জুড়ে ব্যবহারকারীকে চিহ্নিত করতে ব্যবহার করা যেতে পারে।

  • আপনার অ্যাপ্লিকেশান ক্ষেত্রে, আপনার ব্যবহারকারীর প্রমাণীকরণ অবস্থা জানতে প্রস্তাবিত উপায় উপর একটি পর্যবেক্ষক সেট করতে হয় Auth অবজেক্ট। এর পরে আপনি থেকে ব্যবহারকারীর সাধারণ প্রোফাইল তথ্য পেতে পারেন User বস্তু। দেখুন ব্যবহারকারীদের পরিচালনা

  • আপনার Firebase রিয়েলটাইম ডাটাবেস এবং ক্লাউড স্টোরেজ সিকিউরিটি রুলস , আপনি পেতে পারেন সাইন ইন থেকে ব্যবহারকারী এর অনন্য ব্যবহারকারী আইডি auth পরিবর্তনশীল, এবং এটি ব্যবহার কোন ডেটা একটি ব্যবহারকারী অ্যাক্সেস করতে পারবেন নিয়ন্ত্রন করতে পারেন।

আপনি ব্যবহারকারীদের দ্বারা একাধিক প্রমাণীকরণ প্রদানকারীর ব্যবহার করে আপনার অ্যাপ্লিকেশানে সাইন ইন করার অনুমতি দিতে পারেন একটি বিদ্যমান ব্যবহারকারীর অ্যাকাউন্টের সাথে প্রমাণীকরণ প্রদানকারী পরিচয়পত্র লিঙ্ক।

একটি ব্যবহারকারী সাইন আউট করতে, কল signOut :

ওয়েব সংস্করণ 9

import { getAuth, signOut } from "firebase/auth";

const auth = getAuth();
signOut(auth).then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});

ওয়েব সংস্করণ 8

firebase.auth().signOut().then(() => {
  // Sign-out successful.
}).catch((error) => {
  // An error happened.
});