Firebase JS SDK-এর সাহায্যে, আপনি আপনার Firebase ব্যবহারকারীদের কর্ডোভা পরিবেশে যেকোনো সমর্থিত OAuth প্রদানকারী ব্যবহার করে প্রমাণীকরণ করতে দিতে পারেন। সাইন-ইন ফ্লো সঞ্চালনের জন্য Firebase SDK ব্যবহার করে, অথবা ম্যানুয়ালি OAuth ফ্লো চালিয়ে এবং ফলস্বরূপ OAuth শংসাপত্র Firebase-এ পাস করার মাধ্যমে আপনি যেকোনো সমর্থিত OAuth প্রদানকারীকে সংহত করতে পারেন।
কর্ডোভার জন্য ফায়ারবেস প্রমাণীকরণ সেট আপ করুন
আপনার JavaScript প্রকল্পে Firebase যোগ করুন । Firebase স্নিপেট যোগ করার সময়,
authDomain
কনফিগারেশন ভেরিয়েবলের দিকে খেয়াল রাখুন, যা দেখতেmy-app.firebaseapp.com
এর মতো হবে। যদি Firebase প্রভিশন করাfirebaseapp.com
ডোমেনের পরিবর্তে একটি কাস্টম ডোমেন ব্যবহার করা হয়, তাহলে তার পরিবর্তে কাস্টম ডোমেন ব্যবহার করা উচিত।একটি Android অ্যাপ সেট আপ করতে, Firebase কনসোলে আপনার Android অ্যাপ যোগ করুন এবং আপনার অ্যাপের বিবরণ লিখুন। আপনার উত্পন্ন google-services.json দরকার নেই।
একটি iOS অ্যাপ সেট আপ করতে, একটি iOS অ্যাপ্লিকেশন তৈরি করুন এবং এটি Firebase কনসোলে যোগ করুন। কাস্টম ইউআরএল স্কিম প্লাগইন ইনস্টল করার সময় পরে যোগ করার জন্য আপনার iOS বান্ডেল আইডির প্রয়োজন হবে।
ফায়ারবেস ডায়নামিক লিঙ্কগুলি সক্ষম করুন:
- Firebase কনসোলে , Dynamic Links বিভাগ খুলুন।
আপনি যদি এখনও Dynamic Links শর্তাদি গ্রহণ না করে থাকেন এবং একটি Dynamic Links ডোমেন তৈরি না করে থাকেন, তাহলে এখনই করুন৷
আপনি যদি ইতিমধ্যেই একটি Dynamic Links ডোমেন তৈরি করে থাকেন, তবে এটি নোট করুন। একটি Dynamic Links ডোমেন সাধারণত নিম্নলিখিত উদাহরণের মত দেখায়:
example.page.link
ইনকামিং লিঙ্কটি আটকাতে আপনি যখন আপনার Apple বা Android অ্যাপ কনফিগার করবেন তখন আপনার এই মানটির প্রয়োজন হবে।
Firebase কনসোলে Google সাইন-ইন সক্ষম করুন:
- Firebase কনসোলে , Auth বিভাগটি খুলুন।
- সাইন ইন পদ্ধতি ট্যাবে, Google সাইন-ইন পদ্ধতি সক্ষম করুন এবং সংরক্ষণ করুন ক্লিক করুন৷
আপনার কর্ডোভা প্রকল্পে প্রয়োজনীয় প্লাগইনগুলি ইনস্টল করুন৷
# Plugin to pass application build info (app name, ID, etc) to the OAuth widget. cordova plugin add cordova-plugin-buildinfo --save # Plugin to handle Universal Links (Android app link redirects) cordova plugin add cordova-universal-links-plugin-fix --save # Plugin to handle opening secure browser views on iOS/Android mobile devices cordova plugin add cordova-plugin-browsertab --save # Plugin to handle opening a browser view in older versions of iOS and Android cordova plugin add cordova-plugin-inappbrowser --save # Plugin to handle deep linking through Custom Scheme for iOS # Substitute *com.firebase.cordova* with the iOS bundle ID of your app. cordova plugin add cordova-plugin-customurlscheme --variable \ URL_SCHEME=com.firebase.cordova --save
আপনার Cordova
config.xml
ফাইলে নিম্নলিখিত কনফিগারেশন যোগ করুন, যেখানে ধাপ (1) থেকেAUTH_DOMAIN
হল ডোমেন এবং ধাপ (3c) থেকেDYNAMIC_LINK_DOMAIN
হল ডোমেন৷<universal-links> <host name="DYNAMIC_LINK_DOMAIN" scheme="https" /> <host name="AUTH_DOMAIN" scheme="https"> <path url="/__/auth/callback"/> </host> </universal-links>
একটি উদাহরণ কনফিগারেশন এর মত দেখতে হতে পারে:
<universal-links> <host name="example.page.link" scheme="https" /> <host name="example-app.firebaseapp.com" scheme="https"> <path url="/__/auth/callback"/> </host> </universal-links>
যদি একটি কাস্টম ডোমেন
auth.custom.domain.com
ব্যবহার করা হয়, তাহলে সেটি দিয়েmy-app.firebaseapp.com
প্রতিস্থাপন করুন।অ্যান্ড্রয়েড অ্যাপ্লিকেশনের জন্য
singleTask
launchMode
জন্য ব্যবহার করা উচিত।<preference name="AndroidLaunchMode" value="singleTask" />
Firebase SDK দিয়ে সাইন-ইন ফ্লো পরিচালনা করুন
ফায়ারবেস প্রমাণীকরণ বর্তমান কর্ডোভা পরিবেশ সঠিকভাবে নির্ধারণ করার জন্য
deviceReady
ইভেন্টের উপর নির্ভর করে। নিশ্চিত করুন যে সেই ইভেন্টটি ট্রিগার হওয়ার পরে Firebase অ্যাপ ইনস্ট্যান্স আরম্ভ করা হয়েছে।Google প্রদানকারী বস্তুর একটি উদাহরণ তৈরি করুন:
Web
import { GoogleAuthProvider } from "firebase/auth/cordova"; const provider = new GoogleAuthProvider();
Web
var provider = new firebase.auth.GoogleAuthProvider();
signInWithRedirect
ব্যবহার করে Google প্রদানকারী অবজেক্ট ব্যবহার করে Firebase-এর সাথে প্রমাণীকরণ করুন। মনে রাখবেন যেsignInWithPopup
কর্ডোভাতে সমর্থিত নয়।Web
import { getAuth, signInWithRedirect, getRedirectResult, GoogleAuthProvider } from "firebase/auth/cordova"; const auth = getAuth(); signInWithRedirect(auth, new GoogleAuthProvider()) .then(() => { return getRedirectResult(auth); }) .then((result) => { const credential = GoogleAuthProvider.credentialFromResult(result); // This gives you a Google Access Token. // You can use it to access the Google API. const token = credential.accessToken; // The signed-in user info. const user = result.user; // ... }).catch((error) => { // Handle Errors here. const errorCode = error.code; const errorMessage = error.message; });
Web
firebase.auth().signInWithRedirect(provider).then(() => { return firebase.auth().getRedirectResult(); }).then((result) => { /** @type {firebase.auth.OAuthCredential} */ var credential = result.credential; // This gives you a Google Access Token. // You can use it to access the Google API. var token = credential.accessToken; // The signed-in user info. var user = result.user; // ... }).catch((error) => { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; });
সাইন-ইন ক্রিয়াকলাপ সম্পূর্ণ হওয়ার আগে যেখানে অ্যাপের কার্যকলাপ ধ্বংস হয়ে যায় সেই ক্ষেত্রে পরিচালনা করতে, আপনার অ্যাপ লোড হলে
getRedirectResult
কল করুন।Web
import { getAuth, getRedirectResult, GoogleAuthProvider } from "firebase/auth/cordova"; const auth = getAuth(); getRedirectResult(auth) .then((result) => { const credential = GoogleAuthProvider.credentialFromResult(result); if (credential) { // This gives you a Google Access Token. // You can use it to access the Google API. const token = credential.accessToken; // The signed-in user info. const user = result.user; // ... } }) .catch((error) => { // Handle Errors here. const errorCode = error.code; const errorMessage = error.message; });
Web
firebase.auth().getRedirectResult().then((result) => { if (result.credential) { /** @type {firebase.auth.OAuthCredential} */ var credential = result.credential; // This gives you a Google Access Token. // You can use it to access the Google API. var token = credential.accessToken; // The signed-in user info. var user = result.user; // ... } }).catch((error) => { // Handle Errors here. var errorCode = error.code; var errorMessage = error.message; });
linkWithRedirect
এর মাধ্যমে একটি নতুন প্রদানকারীকে লিঙ্ক করতে বাreauthenticateWithRedirect
ব্যবহার করে একটি বিদ্যমান প্রদানকারীর সাথে পুনরায় প্রমাণীকরণ করতে একই পদ্ধতি ব্যবহার করা যেতে পারে।