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”۔

آپ کو درکار ہوگا:

  • نام — فرد اسے سائن اِن اسکرین پر دیکھے گا۔ کسی دوسرے کی ایپلیکیشن کے نام میں “Millida” کا لفظ ممنوع ہے۔
  • Redirect URI — تصدیق کے بعد صارف کو کہاں واپس بھیجنا ہے۔ صرف https (ڈیولپمنٹ کے لیے http://localhost کی اجازت ہے)۔ اس کا مکمل موازنہ ہوتا ہے: ایک اضافی سلیش یا شامل کردہ پیرامیٹر مزید مماثل نہیں ہوگا۔
  • پرائیویسی پالیسی کا لنک — فرد آپ کو ڈیٹا منتقل کرنے سے پہلے اسے دیکھے گا۔

بنانے کے بعد، آپ کو ایک 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”۔ رسائی فوراً رک جاتی ہے، اور جاری کردہ تمام ٹوکنز بے کار ہو جاتے ہیں۔