مواد پر جائیں۔

تصدیق

مقامی تصدیق، اختیاری OpenID Connect سائن ان، اور اکاؤنٹ کی بازیابی کو ترتیب دیں۔

محفوظ شدہ ماخذ سنیپ شاٹ۔ پروڈکٹ لیبلز Repovio استعمال کرتے ہیں۔ اس ریلیز کی ٹیگ شدہ تعیناتی فائلوں سے کنفیگریشن شناخت کنندگان اور کنٹینر حوالہ جات کو بغیر تبدیلی کے استعمال کریں۔

فرسٹ رن سیٹ اپ

ایک نئی تنصیب کو تعینات کرنے کے بعد، اس کا عوامی URL کھولیں۔ Repovio ہر درخواست کو ری ڈائریکٹ کرتا ہے۔ /auth/setup جب تک پہلا اکاؤنٹ موجود نہ ہو۔ ایک اختیاری پہلا اور آخری نام، ایک منفرد صارف نام، اور کم از کم 12 حروف والا پاس ورڈ درج کریں۔ اکاؤنٹ کو سسٹم ایڈمنسٹریٹر کے طور پر بنایا جاتا ہے اور فوری طور پر سائن ان ہوتا ہے۔

سیٹ اپ صرف ایک بار کامیاب ہو سکتا ہے۔ پہلے صارف کے موجود ہونے کے بعد، /auth/setup کو ری ڈائریکٹ کرتا ہے۔ /auth/signin. موجودہ تنصیبات اپ گریڈ کے دوران اپنے موجودہ صارفین کو برقرار رکھتی ہیں اور دوبارہ سیٹ اپ نہیں دکھاتی ہیں۔

اوپن آئی ڈی کنیکٹ سنگل سائن آن

Repovio مقامی سائن ان کے علاوہ ایک اختیاری OpenID Connect فراہم کنندہ کو سپورٹ کرتا ہے۔ سسٹم ایڈمنسٹریٹر اسے ترتیبات → توثیق کے تحت ترتیب دیتا ہے۔ یہ لاگ ان اس سے الگ ہے۔ GitHub، GitLab، Forgejo، اور Gitea فراہم کنندہ OAuth: OIDC شناخت کرتا ہے a Repovio صارف، جبکہ فراہم کنندہ OAuth صرف فراہم کنندہ کے وسائل تک پڑھنے کی رسائی فراہم کرتا ہے۔

فراہم کنندہ کو کنفیگر کرنے سے پہلے بالکل خارجی طور پر قابل رسائی API کال بیک URL سیٹ کریں:

PUBLIC_URL=https://repovio.example.com
OIDC_CALLBACK_URL=https://repovio.example.com/api/v1/auth/oidc/callback

کی قدر رجسٹر کریں۔ OIDC_CALLBACK_URL شناخت فراہم کنندہ پر ایک مجاز ری ڈائریکٹ URI کے طور پر۔ اس کے جاری کنندہ، کلائنٹ ID، اختیاری کلائنٹ سیکریٹ، اسکوپس، اور گروپ کلیم کو کنفیگر کریں۔ Repovio. API محفوظ کرنے پر کلائنٹ کے راز کو قبول کرتا ہے لیکن اس کی قیمت کبھی واپس نہیں کرتا ہے۔ اس کے ساتھ آرام سے خفیہ کردہ ہے۔ TOKEN_ENCRYPTION_KEY. استعمال کرنے سے پہلے کنفیگریشن کو محفوظ کریں کنکشن چیک کریں؛ غیر محفوظ شدہ تبدیلیاں اس چیک کو غیر فعال کر دیتی ہیں۔ پر انحصار کرنے سے پہلے دریافت کے کامیاب ہونے کی تصدیق کریں۔ OIDC سائن ان

جاری کنندہ اور اس کے اختتامی مقامات کے لیے HTTPS درکار ہے۔ HTTP جاری کنندہ کو اجازت دیں کا مقصد صرف الگ تھلگ لیب نیٹ ورکس کے لیے ہے۔ انٹرنیٹ کے قابل رسائی تعیناتی کے لیے اسے کبھی بھی فعال نہیں ہونا چاہیے۔ مقامی پاس ورڈ سائن ان ایک بازیابی کے راستے کے طور پر دستیاب رہتا ہے تب بھی OIDC فعال ہے.

فارم کاپی کرنے، ترتیب شدہ/مشاہدہ گروپس، اور ذخیرہ شدہ کلائنٹ کے راز کو تبدیل کرنے یا صاف کرنے کے لیے علیحدہ کنٹرولز کے لیے کال بیک یو آر ایل بھی دکھاتا ہے۔ متبادل کو غیر فعال چھوڑنے سے محفوظ کردہ راز محفوظ رہتا ہے۔ لوڈنگ، سیونگ، اور کنکشن چیک کی ناکامیوں کو الگ سے رپورٹ کیا جاتا ہے۔ غلط کنفیگریشن کو درست کریں اور کنکشن چیک کی دوبارہ کوشش کرنے سے پہلے دوبارہ محفوظ کریں۔

گروپس، کردار اور شناخت

گروپ کا دعوی ایک عین دعوی کا نام یا ڈاٹ سے الگ کردہ راستہ جیسا کہ realm_access.groups ہو سکتا ہے۔ تین Repovio کرداروں کے لیے قطعی، کیس کے لحاظ سے حساس گروپ اقدار کو ترتیب دیں۔ اگر کئی گروپس آپس میں ملتے ہیں، تو Repovio SYSTEM_ADMIN، پھر MANAGER، پھر VIEWER لاگو ہوتا ہے۔ غیر مماثل، خراب، گمشدہ، یا حد سے زیادہ بڑے گروپ کے دعووں کو مسترد کر دیا جاتا ہے جب تک کہ غیر مماثل صارفین کو بطور ناظر کی اجازت دیں واضح طور پر فعال نہ ہو۔

ایک OIDC اکاؤنٹ صرف تصدیق شدہ جاری کنندہ اور سبجیکٹ جوڑی کے ذریعے منسلک ہوتا ہے۔ Repovio کبھی بھی کسی مقامی اکاؤنٹ سے OIDC لاگ ان کو ای میل ایڈریس یا صارف نام کے ذریعے لنک نہیں کرتا ہے۔ پہلے اور آخری نام ہر کامیاب لاگ ان پر تصدیق شدہ دعووں سے مطابقت پذیر ہوتے ہیں۔ لاگ ان نام، پروفائل کے نام، اور پاس ورڈ کو مقامی طور پر تبدیل نہیں کیا جا سکتا۔ ذخیرے کی رکنیت کا انتظام Repovio میں رہتا ہے اور کبھی بھی شناخت فراہم کرنے والے گروپوں سے اخذ نہیں کیا جاتا ہے۔

سیکیورٹی سے متعلق ترتیب یا کردار میں تبدیلی موجودہ OIDC bearer token کو غیر مؤثر کر دیتی ہے۔ صرف فراہم کنندہ کا ظاہر ہونے والا نام بدلنے سے موجودہ OIDC token غیر مؤثر نہیں ہوتے۔ شناخت فراہم کنندہ کے گروپ کو غیر فعال کرنے یا ہٹانے سے متعلقہ اکاؤنٹ کو نیا سیشن نہیں ملتا اور اگلی مسترد شدہ لاگ ان کوشش کے بعد اس کے پرانے سیشن بھی غیر مؤثر ہو جاتے ہیں۔

فراہم کنندگان کی مثالیں۔

Authentik کے لیے، اجازت کوڈ کے بہاؤ کے ساتھ ایک OAuth2/OpenID فراہم کنندہ بنائیں، اوپر دی گئی عین مطابق کال بیک URL، اور openid، profile، اور email اسکوپس۔ اسکوپ میپنگ شامل کریں جو گروپ کے ناموں کی ایک صف کے طور پر منتخب کردہ گروپ کلیم کو واپس کرتا ہے، فراہم کنندہ کو کسی ایپلیکیشن کے ساتھ منسلک کریں، پھر ایپلیکیشن کے جاری کنندہ، کلائنٹ ID، اور کلائنٹ کے راز کو Repovio میں کاپی کریں۔

دوسرے معیارات کے مطابق فراہم کنندہ کے لیے، اتھارٹی کوڈ فلو کو فعال کریں، S256 PKCE کی ضرورت ہے، درست کال بیک یو آر ایل کو رجسٹر کریں، اور ID ٹوکن یا UserInfo کے جواب میں ایک مستحکم sub کے علاوہ کنفیگر کردہ گروپ کلیم شامل کریں۔ Repovio صرف غیر متناسب ID-ٹوکن دستخطوں کو قبول کرتا ہے اور غیر دستخط شدہ اور HMAC کے دستخط شدہ ٹوکنز کو مسترد کرتا ہے۔

OIDC API معاہدہ

طریقہراستہرسائیمقصد
GET/api/v1/auth/oidc/statusعوامیصرف موثر دستیابی اور اختیاری فراہم کنندہ کا نام لوٹاتا ہے۔
GET/api/v1/auth/oidc/startعوامیبراؤزر سے منسلک اجازت کوڈ اور S256 PKCE ٹرانزیکشن شروع کرتا ہے۔
GET/api/v1/auth/oidc/callbackعوامیفراہم کنندہ کے جواب کی توثیق کرتا ہے اور ایک بار کے ٹکڑے کوڈ کے ساتھ ری ڈائریکٹ کرتا ہے۔
POST/api/v1/auth/oidc/exchangeعوامیفریگمنٹ کوڈ کو ایک بار استعمال کرتا ہے اور عام بیئرر AuthResult واپس کرتا ہے۔
GET, PUT/api/v1/auth/oidc/configسسٹم ایڈمنسٹریٹرخفیہ محفوظ OIDC ترتیبات کو پڑھتا یا اپ ڈیٹ کرتا ہے۔
POST/api/v1/auth/oidc/checkسسٹم ایڈمنسٹریٹرمحفوظ شدہ دریافت کنفیگریشن کو تبدیل کیے بغیر چیک کرتا ہے۔

کال بیک کبھی بھی بیئرر JWT کو URL میں نہیں رکھتا۔ اس کا مبہم ایکسچینج کوڈ 60 سیکنڈ کے بعد ختم ہو جاتا ہے اور اسے صرف ایک بار استعمال کیا جا سکتا ہے۔ فراہم کنندہ کی خامیاں براؤزر یا لاگز تک پہنچنے سے پہلے مستحکم ایرر کوڈز تک کم ہو جاتی ہیں۔

اپنا پاس ورڈ تبدیل کریں۔

سائن ان ہونے کے دوران، ترتیبات → عمومی → پاس ورڈ تبدیل کریں کھولیں۔ موجودہ پاس ورڈ، نیا پاس ورڈ، اور اس کی تصدیق درج کریں۔ Repovio موجودہ براؤزر کو ایک متبادل رسائی ٹوکن کے ساتھ سائن ان رکھتا ہے اور ہر دوسرے سائن ان سیشن کے ذریعہ رکھے گئے ٹوکنز کو باطل کرتا ہے۔

بھولا ہوا پاس ورڈ دوبارہ ترتیب دیں۔

Repovio نے جان بوجھ کر کوئی ای میل پر مبنی پاس ورڈ دوبارہ ترتیب نہیں دیا ہے۔ ایک تعیناتی منتظم compose.yml پر مشتمل ڈائریکٹری سے مقامی اکاؤنٹ کو دوبارہ ترتیب دے سکتا ہے۔ متبادل پاس ورڈ کو بازگشت کیے بغیر یا اسے شیل ہسٹری میں اسٹور کیے بغیر پڑھیں، پھر اسے معیاری ان پٹ پر API کنٹینر پر بھیجیں:

read -rsp 'New Repovio password: ' REPOVIO_NEW_PASSWORD
printf '\n'
printf '%s\n' "$REPOVIO_NEW_PASSWORD" \
  | docker compose exec -T api node dist/scripts/reset-password.js USERNAME
unset REPOVIO_NEW_PASSWORD

USERNAME کو درست لاگ ان صارف نام سے تبدیل کریں۔ کمانڈ کو 12 اور 256 حروف کے درمیان پاس ورڈ کی ضرورت ہوتی ہے، صرف اس مقامی اکاؤنٹ کو اپ ڈیٹ کرتا ہے، اور اس کے تمام موجودہ رسائی ٹوکن کو باطل کرتا ہے۔ اس کے بعد نئے پاس ورڈ کے ساتھ دوبارہ سائن ان کریں۔ کمانڈ OIDC کے زیر انتظام اکاؤنٹس کو مسترد کرتی ہے کیونکہ ان کا کوئی مقامی پاس ورڈ نہیں ہے۔