Skip to content
डेवलपर्स के लिए · Millida से साइन इन करें

अपनी वेबसाइट पर Millida से लॉगिन

“Login with Millida” बटन जोड़ें — आपकी वेबसाइट के विज़िटर के लिए Millida अकाउंट से लॉगिन। ऐप्लिकेशन रजिस्ट्रेशन, ऑथराइज़ेशन फ़्लो, टोकन वेरिफ़िकेशन।

7 सितंबर 2026 को अपडेट किया गया

Millida एक आइडेंटिटी प्रोवाइडर की तरह काम कर सकता है: आपकी साइट पर विज़िटर “Sign in with Millida” पर क्लिक करता है, डेटा ट्रांसफ़र की पुष्टि करता है, और पहले से ऑथेंटिकेटेड होकर लौट आता है। यह OpenID Connect पर काम करता है — बिल्कुल Google, Apple या Discord से साइन इन करने की तरह — इसलिए कोई भी तैयार OIDC लाइब्रेरी काम करेगी।

सिर्फ़ आइडेंटिटी ही सामने आती है: Minecraft निकनेम, नाम, अवतार, और — अगर आप माँगें और व्यक्ति सहमति दे — ईमेल, स्किन, लिंक किया हुआ Discord और Telegram, और प्लेटफ़ॉर्म पर रेपुटेशन। बैलेंस, ट्रांज़ैक्शन और सर्वर ऐप्लिकेशन के लिए उपलब्ध नहीं हैं।

आपको क्या करना है

1. ऐप्लिकेशन बनाएँ

प्रोफ़ाइल → API and webhooks → Sign in with Millida टैब → “Create application”।

आपको इनकी ज़रूरत होगी:

  • Name — व्यक्ति इसे साइन-इन स्क्रीन पर देखेगा। किसी और के ऐप्लिकेशन के नाम में “Millida” शब्द मना है।
  • Redirect URI — पुष्टि के बाद यूज़र को कहाँ वापस भेजना है। सिर्फ़ https (डेवलपमेंट के लिए http://localhost की छूट है)। यह पूरा मिलान होता है: एक अतिरिक्त स्लैश या जोड़ा गया पैरामीटर अब मैच नहीं करेगा।
  • Privacy policy लिंक — व्यक्ति आपको डेटा ट्रांसफ़र करने से पहले इसे देखेगा।

बनाने के बाद आपको एक client_id मिलेगा और, सर्वर ऐप्लिकेशन के लिए, एक client_secret। सीक्रेट सिर्फ़ एक बार दिखाया जाता है — इसे तुरंत सेव करें।

ऐप्लिकेशन का प्रकार: server, अगर आपके पास बैकएंड है जो सीक्रेट रख सकता है; public, अगर यह SPA या मोबाइल ऐप्लिकेशन है और सीक्रेट छिपाने की जगह ही नहीं है।

2. लाइब्रेरी को प्रोवाइडर URL बताएँ

https://id.millida.net

इतना काफ़ी है: लाइब्रेरी खुद https://id.millida.net/.well-known/openid-configuration पढ़ लेगी और बाकी URLs ढूँढ लेगी।

3. व्यक्ति को साइन इन के लिए भेजें

https://id.millida.net/oauth/authorize
  ?response_type=code
  &client_id=your_client_id
  &redirect_uri=https://your-site.ru/auth/millida/callback
  &scope=openid profile email
  &state=random_string
  &nonce=random_string
  &code_challenge=base64url(sha256(code_verifier))
  &code_challenge_method=S256

PKCE सबके लिए ज़रूरी है, सर्वर ऐप्लिकेशन सहित। state को सेशन में सेव करें और वापसी पर उसे वेरिफ़ाई करें — इसके बिना किसी और का रिस्पॉन्स आपके सेशन में डाला जा सकता है।

4. कोड को टोकन में बदलें

POST https://id.millida.net/oauth/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic base64(client_id:client_secret)

grant_type=authorization_code&code=…&redirect_uri=…&code_verifier=…

रिस्पॉन्स में access_token, id_token, और, अगर आपने offline_access माँगा हो, refresh_token होता है।

5. पता करें कि कौन साइन इन हुआ

id_token को पार्स करें (JWKS, iss, aud, exp, nonce के ख़िलाफ़ सिग्नेचर वेरिफ़ाई करें) या यह रिक्वेस्ट भेजें:

GET https://id.millida.net/oauth/userinfo
Authorization: Bearer <access_token>

आप कौन-सा डेटा माँग सकते हैं

आप क्या माँगते हैंआपको क्या मिलता है
openidsub — यूज़र आइडेंटिफ़ायर, ज़रूरी
profileनिकनेम, नाम, अवतार, प्रोफ़ाइल लिंक
emailईमेल पता और यह कि वह वेरिफ़ाइड है या नहीं
minecraftMinecraft निकनेम, उसका UUID, एडिशन, और मौजूदा स्किन व केप के लिंक
discordलिंक किए हुए Discord का आइडेंटिफ़ायर और नाम
telegramलिंक किए हुए Telegram का आइडेंटिफ़ायर और @name
reputationप्रोफ़ाइल लाइक्स, अचीवमेंट की संख्या, रजिस्ट्रेशन की तारीख़, वेरिफ़ाइड अकाउंट का मार्क
offline_accessव्यक्ति के रद्द करने तक एक्सेस रीफ़्रेश करने का अधिकार

ऑफ़लाइन निकनेम का कोई UUID नहीं होता — minecraft_uuid ख़ाली रहेगा, और minecraft_username अकाउंट से भरा जाएगा। telegram_id स्ट्रिंग के रूप में आता है: Telegram चैट id JSON के सटीक नंबर में नहीं समाता, और उसे नंबर की तरह पार्स करने से आख़िरी अंक ख़राब हो जाते हैं।

सिर्फ़ वही माँगें जो साइन-इन के काम आने के लिए ज़रूरी है: व्यक्ति सहमति स्क्रीन पर हर अतिरिक्त आइटम पढ़ता है और वहीं अपना मन बदल सकता है।

यूज़र आइडेंटिफ़ायर के बारे में

एक ही व्यक्ति के लिए sub हर ऐप्लिकेशन में अलग होता है। यह आपकी साइट के लिए अपरिवर्तनीय है, लेकिन यह दूसरी साइटों के sub से मेल नहीं खाता — इससे आप ऐप्लिकेशन के बीच ऑडियंस मैच नहीं कर सकते।

sub को यूज़र की कुंजी के रूप में सेव करें। ईमेल इसके लिए ठीक नहीं है: वह बदला जा सकता है।

ऐप्लिकेशन वेरिफ़िकेशन

नया ऐप्लिकेशन तुरंत काम करता है, लेकिन साइन-इन स्क्रीन पर उसे अनवेरिफ़ाइड के रूप में मार्क किया जाता है। जब साइट तैयार हो जाए, तो डैशबोर्ड में “Submit for review” पर क्लिक करें — हम देख लेंगे और लेबल हटा देंगे।

आम गलतियाँ

“redirect_uri does not match any registered address” — पते का मिलान पूरी स्ट्रिंग के रूप में होता है। ट्रेलिंग स्लैश, स्कीम और पोर्ट जाँचें।

“Only code_challenge_method=S256 is supported” — PKCE ज़रूरी है, plain स्वीकार नहीं किया जाता।

“The authorization code has already been used” — कोड एक बार का होता है और एक मिनट तक जीवित रहता है। दोबारा एक्सचेंज को लीक का संकेत माना जाता है और ऐप्लिकेशन की एक्सेस पूरी तरह रद्द कर दी जाती है।

रद्द करने के बाद टोकन ने काम करना बंद कर दिया — व्यक्ति ने प्रोफ़ाइल की सिक्योरिटी सेटिंग्स में ऐप्लिकेशन बंद कर दिया। यह अपेक्षित व्यवहार है: उसे दोबारा साइन इन के लिए भेजें।

व्यक्ति एक्सेस कैसे रद्द करता है

प्रोफ़ाइल → Security → “Connected applications” → “Revoke”। एक्सेस तुरंत बंद हो जाती है, और जारी किए गए सभी टोकन बेकार हो जाते हैं।