लॉग इन कैसे काम करता है: Google साइन इन, OAuth और पासकी, आसान भाषा में
इस पेज का अंग्रेज़ी से अपने-आप अनुवाद किया गया है।
Contents24
जब भी आप कोई ऐप खोलते हैं और उसे पहले से पता होता है कि ये आप ही हैं, तो पीछे चुपचाप कुछ जाँचें हो चुकी होती हैं। इस पोस्ट में हम इन्हीं जाँचों को एक स्टूडेंट, आशा, और उसके फ़ोन पर चल रहे Edme App के ज़रिए समझेंगे।
आशा UPSC की तैयारी कर रही है। उसकी ज़्यादातर पढ़ाई फ़ोन पर ही होती है: बस में, क्लास के बीच में, देर रात को। वो लेसन और प्रैक्टिस टेस्ट के लिए Edme App इस्तेमाल करती है, और चाहती है कि ऐप उसके Google Calendar के इवेंट्स के हिसाब से पढ़ाई का टाइम प्लान करे। उसके लॉग इन करने के पल से हम उसके साथ चलेंगे।
कोई ऐप कैसे जानता है कि कौन-सा अकाउंट आपका है,
लॉग इन करना और किसी चीज़ को खोलने की इजाज़त मिलना, ये दो अलग-अलग जाँचें क्यों हैं,
"Continue with Google" दबाने पर असल में क्या होता है,
कोई ऐप आपका कैलेंडर पढ़ने से पहले इजाज़त क्यों माँगता है, और
पासकी से आप सिर्फ़ फ़िंगरप्रिंट लगाकर कैसे लॉग इन कर लेते हैं, और नकली वेबसाइटें उसे चुरा क्यों नहीं पातीं।
1. ये साबित करना कि अकाउंट आपका है
जब आशा Edme App खोलती है, तो ऐप को सबसे पहले एक सवाल का जवाब चाहिए: क्या ये सच में आशा है? अगर ऐप ये सवाल छोड़ दे, तो कोई भी उसके नोट्स, टेस्ट स्कोर और सेव किए हुए जवाब खोल सकता है।
ऑथेंटिकेशन यानी पहचान की जाँच: ये पक्का करना कि स्क्रीन के सामने जो इंसान है, उसी के हाथ में सच में वो अकाउंट है जिसे वो खोलना चाहता है।
इसका सबसे पुराना तरीक़ा है ईमेल और पासवर्ड। ईमेल ऐप को बताता है कि कौन-सा अकाउंट। पासवर्ड इस बात का सबूत है कि आपको उसमें जाने की इजाज़त है। फ़ोन पर आया OTP, आपका फ़िंगरप्रिंट और पासकी भी अलग-अलग तरह के सबूत हैं। ये सब एक ही सवाल का जवाब देते हैं।
लॉग इन होना और अंदर जाने की इजाज़त होना, एक बात नहीं है
जब ऐप को पता चल जाता है कि ये आशा है, तो वो एक दूसरा, अलग सवाल पूछता है: उसे क्या-क्या देखने की इजाज़त है? इसे ऑथराइज़ेशन (authorization) कहते हैं।
अपने कॉलेज के बारे में सोचिए। गेट पर ID कार्ड दिखाने से साबित होता है कि आप वहाँ के स्टूडेंट हैं। ये ऑथेंटिकेशन है। आप स्टाफ़ रूम में जा सकते हैं या नहीं, ये बिल्कुल अलग नियम है। ये ऑथराइज़ेशन है।
Edme App में भी यही होता है। आशा ने Prelims कोर्स ख़रीदा है, तो वो Prelims का हर लेसन खोल सकती है। उसने Mains कोर्स नहीं ख़रीदा, और वो टीचर भी नहीं है, इसलिए लॉग इन होने के बावजूद वो स्क्रीन उसके लिए लॉक रहती हैं।
सवाल | इसे क्या कहते हैं |
|---|---|
ये इंसान किस अकाउंट को कंट्रोल करता है? | ऑथेंटिकेशन (Authentication) |
ये अकाउंट क्या-क्या कर सकता है? | ऑथराइज़ेशन (Authorization) |
इसका मतलब आपका लॉग इन बिल्कुल ठीक हुआ। ये दूसरी जाँच, यानी इजाज़त वाली जाँच, मना कर रही है। लॉग आउट करके दोबारा लॉग इन करने से कुछ नहीं बदलेगा; कोर्स ख़रीदने या सही रोल मिलने से बदलेगा।
2. पासवर्ड, और ऐप हर बार क्यों नहीं पूछता
जब आशा पासवर्ड से लॉग इन करती है, तो तीन चीज़ें होती हैं:
वो अपना ईमेल और पासवर्ड टाइप करती है।
Edme App पासवर्ड चेक करता है।
अगर पासवर्ड मैच हो गया, तो वो अंदर।
अच्छा बना हुआ ऐप आपका पासवर्ड कभी सीधे, पढ़ने लायक़ टेक्स्ट में नहीं रखता। वो उसका एक उलट-पुलट किया हुआ रूप रखता है, जिससे आपके टाइप किए पासवर्ड को चेक तो किया जा सकता है, लेकिन उसे वापस असली पासवर्ड में नहीं बदला जा सकता। इसीलिए "Forgot password" दबाने पर ऐप आपका पुराना पासवर्ड बताने के बजाय रीसेट लिंक भेजता है: ऐप के पास सच में आपका पासवर्ड होता ही नहीं।
हर लेसन के लिए दोबारा लॉग इन क्यों नहीं करना पड़ता
आशा एक लेसन खोलती है, फिर दूसरा, फिर एक टेस्ट। हर बार उसे पासवर्ड टाइप नहीं करना पड़ता। एक बार लॉग इन हो जाने के बाद ऐप उसके फ़ोन को एक टेम्परेरी पास दे देता है। इसे सेशन (session) कहते हैं।
ये बिल्कुल वैसा है जैसे किसी कॉन्सर्ट या कॉलेज फ़ेस्ट में मिलने वाला रिस्टबैंड। गेट पर एक बार टिकट दिखाया, उन्होंने कलाई पर बैंड बाँध दिया, और फिर इवेंट ख़त्म होने तक आप आराम से घूमते रहते हैं।
वेबसाइट पर ब्राउज़र ये पास सेव किए हुए डेटा के एक छोटे-से टुकड़े में रखता है, जिसे कुकी (cookie) कहते हैं। आशा के फ़ोन पर Edme App भी कुछ ऐसा ही सेव करके रखता है। दोनों ही तरह से, ऐप हर स्क्रीन पर उसे बिना दोबारा पूछे पहचान लेता है।
"Log out" दबाना, ब्राउज़र का डेटा क्लियर करना, या कुछ समय बाद पास का अपने-आप एक्सपायर हो जाना, इन सबसे वो रिस्टबैंड फेंक दिया जाता है। अगली बार ऐप फिर से सबूत माँगता है।
बाक़ी पोस्ट के लिए ये बात याद रखिए: आशा चाहे किसी भी तरीक़े से लॉग इन करे (पासवर्ड, Google या पासकी), लॉग इन वाला स्टेप बस ये साबित करता है कि वो कौन है। उसके बाद उसे लॉग इन बनाए रखने का काम सेशन करता है।
3. "Continue with Google" दबाने पर क्या होता है
Edme App की लॉग इन स्क्रीन पर एक बटन है जिस पर लिखा है Continue with Google। अगर आशा इसे दबाती है, तो उसे Edme App के लिए नया पासवर्ड बनाने की ज़रूरत ही नहीं पड़ती। ये काम उसका Google अकाउंट कर देता है।
उन दो-तीन सेकंड में ये होता है:
Edme App आशा को Google के पास भेजता है।
Google चेक करता है कि ये वही है। आमतौर पर वो अपने फ़ोन पर पहले से Google में साइन इन होती है, तो उसे बस अपना अकाउंट चुनना होता है।
Google, Edme App को एक साइन किया हुआ नोट देता है, जिसका मतलब होता है: "ये आशा का Google अकाउंट है, और हमने इसे चेक कर लिया है।"
Edme App चेक करता है कि नोट सच में Google से आया है और Edme App के लिए ही है, किसी और ऐप के लिए नहीं।
Edme App उसके लिए अपना ख़ुद का सेशन शुरू करता है, यानी पिछले सेक्शन वाला रिस्टबैंड।
sequenceDiagram
participant A as आशा
participant E as Edme App
participant G as Google
A->>E: Continue with Google दबाती है
E->>G: कृपया बताइए ये कौन है
G->>A: अपना अकाउंट चुनिए
A->>G: अपना अकाउंट चुनती है
G-->>E: साइन किया हुआ नोट: ये आशा है
E->>E: चेक करता है कि नोट असली है
E-->>A: उसका Edme अकाउंट खोल देता हैGoogle आशा की पहचान की गारंटी देता है। Edme App, Google का नोट चेक करता है और फिर अपना सेशन शुरू करता है।
उसे सिर्फ़ Google का नोट मिलता है। आपका Google पासवर्ड आपके और Google के बीच ही रहता है।
इस नोट को लिखने और चेक करने की नियम-किताब का एक नाम है: OpenID Connect, या OIDC। इसकी बारीकियाँ जानने की ज़रूरत नहीं। बस इतना याद रखिए कि ये वो स्टैंडर्ड तरीक़ा है जिससे एक सर्विस दूसरी सर्विस को बताती है, "हाँ, ये इंसान वही है जो ये ख़ुद को बता रहा है।"
"Continue with Google" सिर्फ़ Edme App को बताता है कि आप कौन हैं। आपका कैलेंडर पढ़ने के लिए अलग से इजाज़त चाहिए, जो Google अपनी स्क्रीन पर आपसे माँगेगा। यही अगला सेक्शन है।
4. OAuth: किसी ऐप को अपने Google डेटा का थोड़ा-सा इस्तेमाल करने देना
आशा चाहती है कि Edme App उसका कैलेंडर देखे और उसकी क्लास और कोचिंग के हिसाब से पढ़ाई के स्लॉट सुझाए। इसके लिए ऐप को वो जानकारी पढ़नी होगी जो Google के पास रखी है।
पुराना और ग़लत तरीक़ा ये होता कि Edme App को अपना Google पासवर्ड ही दे दो। ये ऐसा है जैसे किसी दोस्त को सिर्फ़ एक पौधे में पानी डालने के लिए पूरे घर की चाबियाँ थमा देना। वो हर कमरा खोल सकता है।
OAuth वो स्टैंडर्ड तरीक़ा है जिससे आप किसी एक ऐप को, किसी दूसरी सर्विस पर मौजूद अपने अकाउंट के साथ कोई ख़ास काम करने की इजाज़त दे सकते हैं, वो भी अपना पासवर्ड बताए बिना।
Google Calendar जोड़ना
जब आशा Edme App में Connect Google Calendar दबाती है, तो Google उसे अपनी ख़ुद की स्क्रीन दिखाता है, कुछ इस तरह:
Edme App wants to: See your calendar events. [Cancel] [Allow]
अगर वो Allow दबाती है, तो Google, Edme App को एक एक्सेस टोकन (access token) देता है। इसे एक सीमित पास समझिए, जैसे हॉस्टल की विज़िटर स्लिप, जिससे कोई सिर्फ़ कॉमन रूम तक जा सकता है, और कहीं नहीं। जब भी Edme App, Google से उसका कैलेंडर माँगता है, तो ये पास दिखाता है, और Google जवाब देने से पहले इसे चेक करता है।
flowchart TD
A[Edme App कैलेंडर पढ़ने की इजाज़त माँगता है] --> B[Google आशा को परमिशन स्क्रीन दिखाता है]
B --> C{क्या आशा इजाज़त देती है?}
C -->|नहीं| D[कुछ भी शेयर नहीं होता]
C -->|हाँ| E[Edme App को एक्सेस टोकन मिलता है]
E --> F[Edme App टोकन दिखाकर Google से कैलेंडर इवेंट्स माँगता है]
F --> G[Google टोकन चेक करता है और सिर्फ़ उतना ही भेजता है जितने की इजाज़त मिली थी]इजाज़त नहीं, तो डेटा नहीं। इजाज़त मिली, तो टोकन सिर्फ़ उतने के लिए काम करता है जितने पर आशा राज़ी हुई।
पास सिर्फ़ उतना ही कवर करता है जितने की आपने इजाज़त दी
जो टोकन Edme App को कैलेंडर इवेंट्स पढ़ने देता है, वो उसका Gmail नहीं पढ़ सकता, उसकी फ़ोटो नहीं देख सकता, और उसके इवेंट्स डिलीट नहीं कर सकता। इजाज़त की इस सीमा को स्कोप (scope) कहते हैं। Allow दबाने से पहले Google की वो स्क्रीन हमेशा ध्यान से पढ़िए।
इजाज़त वापस लेना
आशा जब चाहे अपनी Google Account सेटिंग्स से Edme App का कैलेंडर एक्सेस हटा सकती है। Security में उन थर्ड-पार्टी ऐप्स की लिस्ट होती है जिन्हें उसने जोड़ा है। ध्यान दीजिए, Edme App से लॉग आउट करने पर ये इजाज़त नहीं हटती। ये दो अलग-अलग स्विच हैं।
Google साइन इन बनाम OAuth, आमने-सामने
ये दोनों अक्सर आपस में गड़बड़ा जाते हैं, क्योंकि दोनों में Google की वही स्क्रीन आती हैं। फ़र्क़ ये है:
Continue with Google (OIDC) | Connect Google Calendar (OAuth) | |
|---|---|---|
ये किस सवाल का जवाब देता है | आप कौन हैं? | ये ऐप आपके डेटा के साथ क्या कर सकता है? |
ऐप को क्या मिलता है | एक साइन किया हुआ नोट, जो बताता है कि आप कौन हैं | ख़ास डेटा के लिए एक सीमित पास (एक्सेस टोकन) |
उदाहरण | Edme App में लॉग इन करना | Edme App का आपका कैलेंडर पढ़ना |
इन दोनों के नाम साथ-साथ आने की एक वजह है: OpenID Connect, OAuth 2.0 के ऊपर ही बना है। OAuth बताता है "आपने क्या इजाज़त दी", और OpenID Connect उसके ऊपर "आप कौन हैं" जोड़ देता है।
5. पासकी से वेब ऑथेंटिकेशन
पासवर्ड की दो बड़ी दिक़्क़तें हैं। लोग उन्हें भूल जाते हैं, इसलिए हर जगह एक ही पासवर्ड इस्तेमाल करते हैं। और लोग धोखे में आकर नकली वेबसाइटों पर उन्हें टाइप कर बैठते हैं। पासकी इन दोनों दिक़्क़तों को ठीक करती है। ये लॉग इन करने का सबसे नया तरीक़ा है, और इसे अच्छे से समझ लेना फ़ायदेमंद है, क्योंकि ये आपको ज़्यादा से ज़्यादा ऐप्स में दिखेगी।
पासकी क्या है
पासकी (passkey) एक ऐसा लॉग इन है जो आपके दिमाग़ में नहीं, बल्कि आपके फ़ोन में (या आपके Google या Apple अकाउंट में) रहता है। आप इसे न कभी देखते हैं, न कभी टाइप करते हैं। आप इसे उसी चीज़ से अनलॉक करते हैं जिससे अपना फ़ोन अनलॉक करते हैं: अपना फ़िंगरप्रिंट, अपना चेहरा, या स्क्रीन का PIN।
आशा की तरफ़ से पासकी से लॉग इन कुछ ऐसा दिखता है: Sign in with passkey दबाओ, फ़िंगरप्रिंट सेंसर छुओ, हो गया। न पासवर्ड, न OTP का इंतज़ार।
इसके पीछे की दो चाबियाँ
हर पासकी असल में डिजिटल चाबियों (keys) का एक जोड़ा होती है। ये फ़ोन की बनाई हुई अंकों की लंबी-लंबी लड़ियाँ होती हैं। इन्हें किसी को याद नहीं रखना पड़ता।
प्राइवेट की (private key) आशा के फ़ोन पर ही रहती है। इससे सबूत बनाया जाता है।
पब्लिक की (public key) Edme App को दी जाती है। इससे उस सबूत को चेक किया जाता है।
इसे ऐसे समझिए। मान लीजिए आशा के पास एक रबर स्टैम्प है, जिसका डिज़ाइन दुनिया में किसी और के पास नहीं है। वो स्टैम्प को ताले में रखती है। Edme App को वो बस इस स्टैम्प के निशान की एक फ़ोटो दे देती है। जब भी उसे लॉग इन करना होता है, वो एक नए काग़ज़ पर ठप्पा लगाती है, और ऐप उस निशान को फ़ोटो से मिलाता है। ऐप निशान को चेक तो कर सकता है, लेकिन फ़ोटो देखकर कोई भी उस स्टैम्प की नक़ल नहीं बना सकता।
डिजिटल वाला स्टैम्प असली स्टैम्प से कहीं ज़्यादा मज़बूत है: ये ऐसे गणित पर बना है कि पब्लिक की से उल्टा चलकर कोई प्राइवेट की तक नहीं पहुँच सकता, चाहे कितने भी पावरफ़ुल कंप्यूटर लगा ले।
प्राइवेट की कभी आपके डिवाइस से बाहर नहीं जाती। पब्लिक की ऐप के पास रखना सुरक्षित है। अकेले उससे लॉग इन नहीं हो सकता, इसलिए अगर कोई उसे ऐप से चुरा भी ले, तो भी उससे आपके अकाउंट में नहीं घुस पाएगा।
पासकी बनाना
आशा पहले से Edme App में लॉग इन है। वो अपनी अकाउंट सेटिंग्स में जाती है और Create a passkey दबाती है। फिर:
उसका फ़ोन फ़िंगरप्रिंट माँगता है, ये पक्का करने के लिए कि फ़ोन सच में उसी के हाथ में है।
उसका फ़ोन चाबियों का एक बिल्कुल नया जोड़ा (key pair) बनाता है, सिर्फ़ Edme App के लिए।
प्राइवेट की फ़ोन पर (या उसके Google Password Manager / iCloud Keychain में) सुरक्षित सेव हो जाती है।
पब्लिक की Edme App को भेज दी जाती है।
Edme App जवाब चेक करता है और पब्लिक की को आशा के अकाउंट के साथ सेव कर लेता है।
sequenceDiagram
participant A as आशा
participant P as उसका फ़ोन
participant E as Edme App
A->>E: Create a passkey दबाती है
E-->>P: कृपया edmeapp.ai के लिए एक पासकी बनाइए
P->>A: फ़िंगरप्रिंट सेंसर छुइए
A->>P: सेंसर छूती है
P->>P: की पेयर बनाता है और प्राइवेट की अपने पास रखता है
P->>E: सिर्फ़ पब्लिक की भेजता है
E->>E: उसे आशा के अकाउंट पर सेव करता हैपासकी बनाना: प्राइवेट की फ़ोन पर ही रहती है, सिर्फ़ पब्लिक की आगे जाती है।
पासकी से लॉग इन करना
अगले दिन आशा Edme App खोलती है और Sign in with passkey दबाती है।
Edme App उसके फ़ोन को एक नई, रैंडम पहेली भेजता है। हर बार बिल्कुल नई।
उसका फ़ोन फ़िंगरप्रिंट माँगता है।
जैसे ही वो सेंसर छूती है, फ़ोन प्राइवेट की से ठीक उसी पहेली पर साइन करता है। इस साइन किए हुए जवाब को डिजिटल सिग्नेचर (digital signature) कहते हैं।
Edme App पहले से सेव की हुई पब्लिक की से सिग्नेचर चेक करता है।
अगर सब सही निकला, तो वो अंदर, और ऐप उसका सेशन शुरू कर देता है।
sequenceDiagram
participant A as आशा
participant P as उसका फ़ोन
participant E as Edme App
A->>E: Sign in with passkey दबाती है
E-->>P: ये रही एक नई पहेली, इस पर साइन करो
P->>A: फ़िंगरप्रिंट सेंसर छुइए
A->>P: सेंसर छूती है
P->>E: प्राइवेट की से साइन की हुई पहेली
E->>E: पब्लिक की से सिग्नेचर चेक करता है
E-->>A: लॉग इन हो गयालॉग इन: फ़ोन हर बार एक नई पहेली पर साइन करता है और ऐप उसे चेक करता है।
हर बार नई पहेली क्यों? क्योंकि तब पुराना जवाब किसी काम का नहीं रहता। अगर किसी ने किसी तरह कल की साइन की हुई पहेली रिकॉर्ड भी कर ली, तो आज की पहेली अलग है, इसलिए उसे दोबारा भेजने से कुछ हासिल नहीं होगा। ये वही आइडिया है जो हर लॉग इन पर बदलने वाले OTP का है।
नकली वेबसाइट पासकी क्यों नहीं चुरा सकती
ज़रा सोचिए। आशा को एक SMS आता है: "आपका Edme सब्सक्रिप्शन आज ख़त्म हो रहा है! edme-app-offer.com पर रिन्यू करें"। पेज बिल्कुल असली Edme लॉग इन स्क्रीन जैसा दिखता है।
पासवर्ड हो, तो हो सकता है वो बिना ध्यान दिए कि एड्रेस ग़लत है, पासवर्ड टाइप कर दे। अब पासवर्ड ठगों के हाथ में है।
पासकी हो, तो उसका फ़ोन वेबसाइट का एड्रेस ख़ुद चेक करता है, लोगो देखकर नहीं। उसकी पासकी edmeapp.ai के लिए बनी थी, इसलिए edme-app-offer.com पर फ़ोन उसे दिखाता ही नहीं। न कुछ टाइप करने को है, न कुछ सौंपने को।
नकली पेज आपको बेवकूफ़ बना सकता है। लेकिन नकली एड्रेस आपके फ़ोन को बेवकूफ़ नहीं बना सकता। पासकी में आप अपना सीक्रेट कभी किसी को देते ही नहीं, इसलिए कोई आपसे धोखे से कुछ निकलवा ही नहीं सकता।
आपका फ़िंगरप्रिंट आपके फ़ोन पर ही रहता है
आपका फ़िंगरप्रिंट सिर्फ़ आपके अपने फ़ोन पर पासकी को अनलॉक करता है, ठीक वैसे ही जैसे वो आपकी स्क्रीन अनलॉक करता है। Edme App को आपका फ़िंगरप्रिंट, फ़ेस स्कैन या फ़ोन का PIN कभी नहीं मिलता। उसे बस साइन की हुई पहेली मिलती है।
फ़ोन खो जाए तो?
ये इस पर निर्भर करता है कि पासकी कहाँ सेव हुई थी।
सिंक होने वाली पासकी (synced passkeys) आपके Google Password Manager (Android) या iCloud Keychain (iPhone) में सेव होती हैं। जब आप नए फ़ोन पर अपने Google या Apple अकाउंट में साइन इन करते हैं, तो ये भी साथ वापस आ जाती हैं।
सिर्फ़ एक डिवाइस वाली पासकी (device-only passkeys), जैसे USB सिक्योरिटी की पर रखी पासकी, उसी एक डिवाइस में रहती हैं। वो डिवाइस खो गया, तो पासकी भी गई।
दोनों ही हालात में, अपने अकाउंट में जाने का कोई और रास्ता भी रखिए: दूसरी पासकी, आपका Google साइन इन, या ऐप का अकाउंट रिकवरी ऑप्शन। ये आपका बैकअप दरवाज़ा है।
जिसे भी आपके फ़ोन का PIN पता है, वो आपकी पासकी इस्तेमाल कर सकता है। स्क्रीन लॉक हमेशा ऑन रखिए, और वो PIN किसी को मत बताइए, दोस्तों को भी नहीं।
तो WebAuthn क्या है?
आपको सेटिंग्स या आर्टिकल्स में WebAuthn शब्द दिख सकता है। ये Web Authentication का छोटा रूप है।
WebAuthn वो कॉमन भाषा है जिसमें कोई वेबसाइट पासकी के बारे में आपके ब्राउज़र से बात करती है। इसकी मदद से वेबसाइट कह सकती है "मेरे लिए एक नई पासकी बनाओ" या "इस पहेली पर साइन करो"। फिर ब्राउज़र आपके फ़ोन के फ़िंगरप्रिंट सेंसर, फ़ेस अनलॉक या सिक्योरिटी की से बात करता है, और जवाब वापस पहुँचा देता है। Chrome, Safari, Firefox और Edge, सब ये भाषा बोलते हैं। Android और iPhone के ऐप्स भी अंदर से यही स्टैंडर्ड इस्तेमाल करते हैं, इसलिए जब कोई ऐप और उसकी वेबसाइट आपस में जुड़े हों, तो एक ही पासकी दोनों में चल सकती है।
पासकी चाबी है। WebAuthn वो तरीक़ा है जिससे वेबसाइट आपके ब्राउज़र से उस चाबी को इस्तेमाल करने को कहती है।
पासकी को लेकर आम ग़लतफ़हमियाँ
लोग क्या सोचते हैं | असल में सच क्या है |
|---|---|
पासकी मेरा फ़िंगरप्रिंट है। | नहीं। आपका फ़िंगरप्रिंट सिर्फ़ आपके फ़ोन पर पासकी को अनलॉक करता है। |
वेबसाइट मेरा फ़िंगरप्रिंट सेव करती है। | नहीं। वो सिर्फ़ एक पब्लिक की सेव करती है, और आपका फ़िंगरप्रिंट कभी नहीं देखती। |
अगर वेबसाइट हैक हो गई, तो मेरी पासकी चोरी हो जाएगी। | सिर्फ़ पब्लिक की ही चुराई जा सकती है, और उससे लॉग इन नहीं हो सकता। |
पासकी सिर्फ़ उसी फ़ोन पर चलती है जिस पर मैंने उसे बनाया। | आमतौर पर नहीं। ज़्यादातर पासकी आपके Google या Apple अकाउंट के ज़रिए सिंक हो जाती हैं। |
पासकी बस एक फ़ैंसी पासवर्ड है। | नहीं। इसमें कोई सीक्रेट नहीं है जिसे आप टाइप या शेयर करें, इसीलिए नकली साइटें इसे पकड़ नहीं पातीं। |
6. सब कुछ एक साथ
ये रही आशा की सुबह, जिसमें इस पोस्ट का हर आइडिया अपनी जगह पर है:
वो Continue with Google दबाती है। Google एक साइन किया हुआ नोट भेजता है, और Edme App उसे चेक करता है। (ऑथेंटिकेशन, OIDC के ज़रिए)
वो अपना Prelims लेसन खोलती है। ऐप चेक करता है कि उसके अकाउंट पर कोर्स ख़रीदा गया है। (ऑथराइज़ेशन)
वो प्रैक्टिस टेस्ट पर जाती है। दोबारा लॉग इन नहीं करना पड़ता, क्योंकि उसका रिस्टबैंड अभी भी वैलिड है। (सेशन)
वो अपना कैलेंडर जोड़ती है। Google उससे इजाज़त माँगता है, और ऐप को एक सीमित पास मिलता है। (OAuth)
वो एक पासकी बनाती है। कल से वो सिर्फ़ फ़िंगरप्रिंट से लॉग इन कर सकती है। (पासकी, WebAuthn के ज़रिए)
इनमें से हर एक का काम अलग है, और एक आम ऐप इन सबको एक साथ इस्तेमाल करता है।
एक नज़र में
शब्द | एक लाइन में इसका काम |
|---|---|
ऑथेंटिकेशन (Authentication) | साबित करता है कि अकाउंट आपका है। |
ऑथराइज़ेशन (Authorization) | तय करता है कि आप क्या-क्या खोल सकते हैं। |
सेशन (Session) | एक बार लॉग इन होने के बाद आपको लॉग इन बनाए रखता है। |
Google साइन इन / OIDC | Google को आपकी पहचान की गारंटी देने देता है। |
OAuth | किसी ऐप को, कहीं और रखे आपके कुछ डेटा के लिए एक सीमित पास देता है। |
पासकी (Passkey) | पासवर्ड की जगह आपके फ़ोन पर रखी एक चाबी से आपको लॉग इन कराता है। |
WebAuthn | वो भाषा जिससे वेबसाइटें आपके ब्राउज़र के ज़रिए पासकी बनाती और इस्तेमाल करती हैं। |
7. ख़ुद को परखिए
जवाब देखने के लिए सवाल पर टैप कीजिए।
1. आशा ठीक से लॉग इन कर लेती है, लेकिन टीचर डैशबोर्ड नहीं खोल पाती। किस जाँच ने उसे रोका?
ऑथराइज़ेशन। उसका लॉग इन ठीक हुआ। बस उसके अकाउंट के पास टीचर वाली इजाज़त नहीं है।
2. क्या "Continue with Google" से Edme App उसका कैलेंडर पढ़ सकता है?
नहीं। साइन इन करने से ऐप को सिर्फ़ ये पता चलता है कि वो कौन है। कैलेंडर एक्सेस के लिए अलग इजाज़त (OAuth) चाहिए।
3. पासकी से लॉग इन के दौरान पब्लिक की क्या करती है?
वो सबूत चेक करती है। फ़ोन प्राइवेट की से एक नई पहेली पर साइन करता है, और ऐप उस सिग्नेचर को चेक करने के लिए पब्लिक की का इस्तेमाल करता है।
4. क्या Edme App को आशा का फ़िंगरप्रिंट मिलता है?
नहीं। फ़िंगरप्रिंट की जाँच सिर्फ़ उसके फ़ोन पर होती है। ऐप को साइन की हुई पहेली मिलती है, और कुछ नहीं।
5. एक नकली साइट Edme का लॉग इन पेज हूबहू कॉपी कर लेती है। फिर भी उसे आशा की पासकी क्यों नहीं मिल सकती?
क्योंकि उसका फ़ोन वेबसाइट का एड्रेस चेक करता है, पेज का लुक नहीं। उसकी पासकी edmeapp.ai की है, इसलिए किसी और एड्रेस पर फ़ोन उसे इस्तेमाल नहीं करेगा।
6. हैकर किसी वेबसाइट में घुसकर सबका पासकी डेटा कॉपी कर लेते हैं। क्या वो उन यूज़र्स बनकर लॉग इन कर सकते हैं?
नहीं। वेबसाइट के पास हमेशा सिर्फ़ पब्लिक की थीं। लॉग इन के लिए प्राइवेट की चाहिए, जो कभी यूज़र्स के फ़ोन से बाहर गई ही नहीं।
आगे पढ़ने के लिए
अगर आप और गहराई में जाना चाहें, तो ये वो सोर्स हैं जिन पर ये पोस्ट आधारित है। शुरुआत के लिए MDN के पेज सबसे आसान हैं।