बहु-कारक प्रमाणीकरण (MFA)
अपने Firebase उपयोगकर्ताओं के लिए बहु-कारक प्रमाणीकरण सक्षम और कॉन्फ़िगर करके सुरक्षा बढ़ाएँ
बहु-कारक प्रमाणीकरण (MFA), CoddyKit पर Firebase Auth और रीयल-टाइम database applications का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Firebase Auth और रीयल-टाइम database applications सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
MFA से अपने ऐप को सुरक्षित करें
बहु-कारक प्रमाणीकरण (MFA) उपयोगकर्ता अकाउंट में सुरक्षा की एक अतिरिक्त परत जोड़ता है। केवल पासवर्ड के बजाय, उपयोगकर्ताओं को अपनी पहचान साबित करने के लिए दूसरे "कारक" की आवश्यकता होती है।
इससे अनधिकृत पहुँच का जोखिम काफी कम हो जाता है, भले ही पासवर्ड चोरी हो जाए।
Firebase MFA का अवलोकन
Firebase Authentication MFA के लिए अंतर्निर्मित समर्थन प्रदान करता है। इससे उपयोगकर्ता SMS सत्यापन के लिए फ़ोन नंबर जैसे कई दूसरे कारकों में नामांकन कर सकते हैं।
MFA सक्षम होने पर उपयोगकर्ता पहले अपनी प्राथमिक विधि, जैसे ईमेल/पासवर्ड, से साइन-इन करते हैं और फिर नामांकित दूसरे कारकों में से किसी एक के साथ चुनौती पूरी करते हैं।
MFA के लिए आवश्यक पूर्वापेक्षाएँ
किसी उपयोगकर्ता के लिए MFA सक्षम करने हेतु, पहले उसका आपके app में साइन इन होना आवश्यक है। Firebase MFA, मौजूदा उपयोगकर्ता खाते के साथ अतिरिक्त कारकों को जोड़कर काम करता है।
- उपयोगकर्ता का साइन इन होना आवश्यक है।
- Firebase SDK का प्रारंभ होना आवश्यक है।
- आप उपयोगकर्ता को दूसरा कारक enroll करने का मार्गदर्शन देंगे।
फ़ोन कारक जोड़ना
एक सामान्य दूसरा कारक फ़ोन नंबर होता है, जिसका सत्यापन SMS के माध्यम से किया जाता है। इस प्रक्रिया में शामिल हैं:
- उपयोगकर्ता के फ़ोन पर सत्यापन कोड भेजना।
- उपयोगकर्ता द्वारा वह कोड आपके app में दर्ज करना।
- Firebase द्वारा कोड का सत्यापन करके फ़ोन नंबर को उपयोगकर्ता के खाते से जोड़ना।
फ़ोन enrollment शुरू करना
यहाँ बताया गया है कि MFA कारक के रूप में उपयोगकर्ता के फ़ोन नंबर पर SMS सत्यापन कोड भेजना कैसे शुरू करें। +16505551234 को उपयोगकर्ता के वास्तविक फ़ोन नंबर से बदलना याद रखें।
import com.google.firebase.auth.*;
import com.google.firebase.FirebaseApp;
import java.util.concurrent.TimeUnit;
public class Main {
public static void main(String[] args) {
// Assume FirebaseApp is initialized and a user is signed in.
// FirebaseAuth auth = FirebaseAuth.getInstance();
// FirebaseUser user = auth.getCurrentUser(); // Must be non-null
System.out.println("Simulating MFA phone enrollment initiation:");
// Example PhoneAuthOptions (actual implementation requires Activity context)
PhoneAuthOptions options = PhoneAuthOptions.newBuilder(FirebaseAuth.getInstance())
.setPhoneNumber("+16505551234") // User's phone number
.setTimeout(60L, TimeUnit.SECONDS)
.setActivity(null) // Use 'this' for Activity context on Android
.setCallbacks(new PhoneAuthProvider.OnVerificationStateChangedCallbacks() {
@Override public void onVerificationCompleted(PhoneAuthCredential credential) { /* auto-verified */ }
@Override public void onVerificationFailed(FirebaseException e) { System.err.println("Failed: " + e.getMessage()); }
@Override public void onCodeSent(String verificationId, PhoneAuthProvider.ForceResendingToken token) {
System.out.println("Code sent. Store verificationId: " + verificationId);
// Prompt user for SMS code here.
}
}).build();
// In a real app: PhoneAuthProvider.verifyPhoneNumber(options);
System.out.println("SMS verification initiated (simulated).");
}
}सत्यापन और enrollment पूरा करना
जब उपयोगकर्ता को SMS कोड मिल जाए और वह उसे दर्ज कर दे, तो पिछले चरण से प्राप्त verificationId और कोड का उपयोग करके PhoneAuthCredential बनाएँ, फिर उसे MFA कारक के रूप में enroll करें।
import com.google.firebase.auth.*;
public class Main {
public static void main(String[] args) {
// Assume FirebaseApp is initialized and a user is signed in.
// FirebaseAuth auth = FirebaseAuth.getInstance();
// FirebaseUser user = auth.getCurrentUser(); // Must be non-null
String verificationId = "YOUR_VERIFICATION_ID"; // From onCodeSent callback
String smsCode = "123456"; // User's input
PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, smsCode);
// Enroll the credential as an MFA factor
// user.multiFactor.enroll(credential)
// .addOnCompleteListener(task -> {
// if (task.isSuccessful()) {
// System.out.println("MFA factor enrolled successfully!");
// } else {
// System.err.println("MFA factor enrollment failed: " + task.getException().getMessage());
// }
// });
System.out.println("MFA enrollment code demonstrated. Actual enrollment is async.");
}
}MFA से प्रमाणीकरण
जब MFA सक्षम कोई उपयोगकर्ता साइन इन करने का प्रयास करता है, तो प्रारंभिक साइन-इन (जैसे ईमेल/पासवर्ड से) MultiFactorResolver लौटा सकता है। इस resolver में उपलब्ध दूसरे कारकों की जानकारी होती है।
इसके बाद आपका app उपयोगकर्ता से उसके enroll किए गए कारकों में से किसी एक को चुनने और सत्यापित करने के लिए कहता है।
MFA चुनौती का उत्तर देना
प्राथमिक साइन-इन के बाद, यदि MFA आवश्यक हो, तो आपको MultiFactorResolver प्राप्त होगा। इसके बाद आप फ़ोन के SMS कोड जैसे दूसरे कारक के साथ साइन-इन पूरा करने के लिए इसका उपयोग करते हैं।
import com.google.firebase.auth.*;
import java.util.List;
public class Main {
public static void main(String[] args) {
// Assume FirebaseApp is initialized.
// FirebaseAuth auth = FirebaseAuth.getInstance();
// --- Scenario: After an initial sign-in attempt (e.g., email/password)
// --- that requires MFA, you would receive a MultiFactorResolver.
// --- This is a simplified demo.
System.out.println("Simulating MFA sign-in challenge response:");
// MultiFactorResolver resolver = ... (obtained from initial sign-in result)
// For demonstration, let's mock a resolver context.
// In a real app, you'd get this from a FirebaseAuthException.
// Example of how you'd get enrolled factors from a resolver
// List<MultiFactorInfo> factors = resolver.getFactors();
// if (!factors.isEmpty()) {
// MultiFactorInfo selectedFactor = factors.get(0); // Choose one, e.g., phone
// if (selectedFactor.getFactorId().equals(PhoneMultiFactorGenerator.FACTOR_ID)) {
// // Initiate SMS verification for this factor
// // Then, get the SMS code from the user
// // String smsCode = "123456";
// // PhoneAuthCredential credential = PhoneAuthProvider.getCredential(verificationId, smsCode);
// // MultiFactorAssertion assertion = PhoneMultiFactorGenerator.getAssertion(credential);
//
// // auth.signInWithMultiFactorCredential(resolver.resolveSignIn(assertion))
// // .addOnCompleteListener(task -> {
// // if (task.isSuccessful()) {
// // System.out.println("Signed in successfully with MFA!");
// // } else {
// // System.err.println("MFA sign-in failed: " + task.getException().getMessage());
// // }
// // });
// }
// }
System.out.println("MFA sign-in challenge response simulated. See comments.");
}
}कारक देखना और unenroll करना
उपयोगकर्ता अपने enroll किए गए MFA कारकों को प्रबंधित कर सकते हैं। इसमें उनके द्वारा जोड़े गए कारकों की सूची देखना और जिन कारकों का वे अब उपयोग नहीं करना चाहते, उन्हें हटाना (unenroll करना) शामिल है।
यह उपयोगकर्ता के नियंत्रण और सुरक्षा के लिए अत्यंत महत्वपूर्ण है, क्योंकि इससे वे खोए हुए उपकरणों की पहुँच रद्द कर सकते हैं।
import com.google.firebase.auth.*;
import java.util.List;
public class Main {
public static void main(String[] args) {
// Assume FirebaseApp is initialized and a user is signed in.
// FirebaseAuth auth = FirebaseAuth.getInstance();
// FirebaseUser user = auth.getCurrentUser(); // Must be non-null
if (user != null) {
System.out.println("Managing MFA factors for user: " + user.getUid());
// Get enrolled factors
List<MultiFactorInfo> enrolledFactors = user.getMultiFactor().getEnrolledFactors();
System.out.println("\nEnrolled factors:");
if (enrolledFactors.isEmpty()) {
System.out.println(" No MFA factors enrolled.");
} else {
for (MultiFactorInfo factor : enrolledFactors) {
System.out.println(" - Factor ID: " + factor.getFactorId() + ", Display Name: " + factor.getDisplayName());
// Example: unenroll the first factor
// user.getMultiFactor().unenroll(factor)
// .addOnCompleteListener(task -> {
// if (task.isSuccessful()) {
// System.out.println("Factor unenrolled successfully: " + factor.getFactorId());
// } else {
// System.err.println("Failed to unenroll: " + task.getException().getMessage());
// }
// });
}
}
} else {
System.out.println("No user signed in to manage MFA factors.");
}
}
}MFA त्वरित जाँच
निम्नलिखित में से कौन-सा चरण तब सामान्यतः नहीं होता, जब MFA सक्षम उपयोगकर्ता Firebase application में साइन इन करता है?
MFA: अधिक मज़बूत सुरक्षा
इस पाठ में आपने Firebase Multi-Factor Authentication (MFA) लागू करके अपने application की सुरक्षा बढ़ाना सीखा।
- हमने नए MFA कारकों, विशेष रूप से फ़ोन नंबरों को enroll करना सीखा।
- हमने देखा कि उपयोगकर्ता के साइन-इन के दौरान MFA चुनौती का उत्तर कैसे देना है।
- आपने यह भी देखा कि उपयोगकर्ता अपने enroll किए गए कारकों को कैसे प्रबंधित कर सकते हैं।
MFA उपयोगकर्ता खातों को अनधिकृत पहुँच से सुरक्षित रखने का एक शक्तिशाली साधन है।
एआई शिक्षक के साथ Firebase Auth और रीयल-टाइम database applications सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 11
- पाठ
- 44
अक्सर पूछे जाने वाले प्रश्न
क्या “बहु-कारक प्रमाणीकरण (MFA)” पाठ निःशुल्क है?
हाँ — Firebase Auth और रीयल-टाइम database applications अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बहु-कारक प्रमाणीकरण (MFA)” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Firebase Auth और रीयल-टाइम database applications पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बहु-कारक प्रमाणीकरण (MFA)” में मैं क्या सीखूँगा?
अपने Firebase उपयोगकर्ताओं के लिए बहु-कारक प्रमाणीकरण सक्षम और कॉन्फ़िगर करके सुरक्षा बढ़ाएँ आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Firebase Auth और रीयल-टाइम database applications का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Firebase Auth और रीयल-टाइम database applications शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Firebase Auth और रीयल-टाइम database applications शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“बहु-कारक प्रमाणीकरण (MFA)” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Firebase Auth और रीयल-टाइम database applications पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Firebase Auth और रीयल-टाइम database applications पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- फ़ोन नंबर प्रमाणीकरण
- बहु-कारक प्रमाणीकरण (MFA)
- कस्टम दावे और सुरक्षा नियम
- खाता लिंक करना और प्रदाता प्रबंधन