SSO کنفیگریشن کا حوالہ
سنگل سائن اَن سے جڑی ہر قابلِ کنفیگریشن چیز، ایک ہی جگہ۔ اقدار global.db کی
sso_connections قطاروں میں رہتی ہیں (ڈیزائن ہی سے سرور بھر کے لیے)، اور
ترتیبات → سرور → سنگل سائن آن یا sso.* RPC آپریشنز کے ذریعے ترمیم کی
جاتی ہیں۔ محفوظ شدہ قطار ہی واحد حقیقت کا ماخذ ہے — CC_SAML_* / CC_OIDC_*
ماحول کا کوئی راستہ نہیں (ایسا کنکشن جو دو جگہوں سے آ سکتا ہو، وہ ہے جس سے
ترتیبات کی اسکرین اختلاف کر سکتی ہے)۔
کنکشن کے فیلڈز
سیکشن کا عنوان “کنکشن کے فیلڈز”| فیلڈ | کن پر لاگو | ڈیفالٹ | مطلب |
|---|---|---|---|
enabled |
دونوں | بند | لاگ اِن اِس کنکشن کو استعمال کر سکتے ہیں |
idpMetadataXml |
SAML | — | IdP کا EntityDescriptor XML (فعال کرنے کے لیے لازمی) |
spEntityId |
SAML | <origin>/saml |
ہماری اینٹٹی ID، جو اوریجن بدلنے پر پن کی جاتی ہے |
emailAttribute |
SAML | email |
ای میل رکھنے والا اٹریبیوٹ؛ ای میل کی شکل والا NameID متبادل ہے |
displayNameAttribute |
SAML | displayName |
ڈسپلے نام کا اٹریبیوٹ |
groupsAttribute |
SAML | groups |
گروپ ناموں کا اٹریبیوٹ |
clockSkewSeconds |
SAML | 90 | مدتِ کار کی توثیق میں اسکیو کی چھوٹ |
allowIdpInitiated |
SAML | بند | غیر طلب شدہ Responses قبول کریں (بغیر InResponseTo) |
wantResponseSigned |
SAML | بند | Response کی جڑ کے دستخط لازمی کریں (ایسرشن کے دستخط ہمیشہ لازمی ہیں) |
issuer |
OIDC | — | جاری کنندہ کا بنیادی URL (فعال کرنے کے لیے لازمی) |
clientId |
OIDC | — | پبلک کلائنٹ کی آئی ڈی (فعال کرنے کے لیے لازمی) |
clientSecret |
OIDC | — | صرف خفیہ کلائنٹس کے لیے؛ 0600 سیکرٹس فائل میں محفوظ، ڈیٹا بیس میں کبھی نہیں — RPC پر صرف لکھنے کے لیے (sso.getConfig بتاتا ہے کہ clientSecretPresent موجود ہے) |
groupsClaim |
OIDC | groups |
گروپ نام رکھنے والا کلیم |
defaultRole |
دونوں | member |
جب کوئی گروپ میپ نہ ہو تو کردار — کبھی owner نہیں |
groupRoleMap |
دونوں | {} |
گروپ → کردار؛ مالک کی میپنگز محفوظ کرتے وقت مسترد کر دی جاتی ہیں |
autoMember |
دونوں | آن | پہلے لاگ اِن پر صارفین کو ہر ورک اسپیس میں خودکار شامل کریں |
allowJit |
دونوں | آن | لاگ اِن پر نامعلوم صارفین کو پروویژن کریں |
پروسیس کی کنفیگریشن
سیکشن کا عنوان “پروسیس کی کنفیگریشن”SSO کنکشنز ماحول سے سیڈ نہیں کیے جاتے۔ ایک باقی بچا پروسیس فلیگ براؤزر ہینڈ آف کے بارے میں ہے، کنکشن کی قطار کے نہیں:
| ویری ایبل / فلیگ | مطلب |
|---|---|
--web-client-url / CC_SERVER_WEB_CLIENT_URL |
وہ اوریجن جہاں SSO کال بیکس براؤزر کو واپس بھیجتے ہیں (اسناد URL فریگمنٹ پر سفر کرتی ہیں)۔ سیٹ نہ ہونے پر ہینڈ آف اسی اوریجن پر رہتا ہے۔ |
خود جاری کنندہ کا URL لازماً https ہونا چاہیے (http صرف لوپ بیک جاری
کنندگان localhost، 127.0.0.1 اور ::1 کے لیے قبول کیا جاتا ہے)۔
HTTP اینڈ پوائنٹس
سیکشن کا عنوان “HTTP اینڈ پوائنٹس”| اینڈ پوائنٹ | تصدیق | مقصد |
|---|---|---|
GET /saml/login?relay=… |
کوئی نہیں (redirect) | SP سے شروع ہونے والا لاگ اِن شروع کریں؛ relay=desktop ایپ کو ہینڈ آف کرتا ہے، relay=web-popup منتظر کنیکٹ ٹیب کو postMessages کرتا ہے (جو اپنا client_origin قرار دیتا ہے، اور یہ صرف اُس وقت مانا جاتا ہے جب اوریجن کی اجازت فہرست اُس پر بھروسا کرے) |
POST /saml/acs |
کوئی نہیں (IdP POST) | ایسرشن کنزیومر — توثیق کرتا ہے، پروویژن کرتا ہے، جاری کرتا ہے |
GET /saml/metadata |
کوئی نہیں | ہمارا SP EntityDescriptor |
GET /oidc/login?relay=… / GET /oidc/callback |
کوئی نہیں | OIDC کا راؤنڈ ٹرپ؛ relay=desktop ایپ کو ہینڈ آف کرتا ہے، relay=web-popup منتظر کنیکٹ ٹیب کو (وہی client_origin رواج) |
GET /auth/providers |
کوئی نہیں، CORS * |
کنیکٹ اسکرین کی پروب: پیش کردہ SSO کنکشنز (id/kind/label) + pairingEnabled |
/scim/v2/Users… |
Bearer (SCIM ٹوکن) | Users کے لیے create/get/list+filter/PUT/PATCH/DELETE |
/scim/v2/Groups |
Bearer | صرف پڑھنے کے لیے؛ گروپ پش ڈیزائن ہی سے 501 جواب دیتا ہے |
/scim/v2/ServiceProviderConfig |
Bearer | اہلیت کی دستاویز |
RPC آپریشنز
سیکشن کا عنوان “RPC آپریشنز”تمام sso.* آپریشنز سرور کے دائرے میں ہیں اور سرور مالک تک محدود ہیں (اِس
انسٹال کا آپریٹر، ServerAuthority.serverOwner)۔ کسی ورک اسپیس کا مالک ہونا
کافی نہیں؛ پیئرنگ اکیلی انہیں کبھی نہیں دیتی۔
| آپریشن | مقصد |
|---|---|
sso.getConfig |
کسی ایک قسم کے لیے محفوظ شدہ کنکشن |
sso.saveConfig |
توثیق کریں، محفوظ کریں اور لائیو لاگو کریں |
sso.status |
فعال/کنفیگر شدہ فلیگز، SCIM ٹوکن کی موجودگی، کینونیکل اوریجن |
sso.testConnection |
براؤزر راؤنڈ ٹرپ کے بغیر کنکشن جانچیں (SAML: میٹا ڈیٹا پارس + AuthnRequest بلڈ؛ OIDC: جاری کنندہ discovery)، اسکرین پر موجود غیر محفوظ اقدار کے اختیاری استعمال کے ساتھ |
sso.spMetadata |
کسی اوریجن کے لیے SP EntityDescriptor جاری کریں |
sso.setPairingEnabled |
دستی پیئرنگ کی اجازت دیں/روکیں (دعوتی کوڈز، پیئرنگ کیز)؛ جب کوئی کام کرنے والا SSO کنکشن موجود نہ ہو تو اِسے بند کرنے سے انکار لاک آؤٹ سے بچاتا ہے |
sso.sessionPolicy |
انسٹال کی ڈیوائس اسناد کی زیادہ سے زیادہ عمر اور آئیڈل ٹائم آؤٹ پڑھیں (منٹ میں؛ 0 = سیٹ نہیں) |
sso.setSessionPolicy |
وہ حدود سیٹ کریں؛ ڈیوائس چیک پر لاگو ہوتی ہیں، کلائنٹس کو بتائی نہیں جاتیں |
sso.scimRegenerateToken |
SCIM bearer ٹوکن بنائیں + واپس دیں (ایک بار) |
توثیق کے ایرر کوڈز
سیکشن کا عنوان “توثیق کے ایرر کوڈز”cc_saml_verify_response کی ناکامیاں ایک مستحکم کوڈ لے کر آتی ہیں:
| کوڈ | مطلب |
|---|---|
signature |
دستخط غائب/ناقابلِ بھروسا/چھیڑے گئے، یا کوئی ممنوع الگورتھم/ٹرانسفارم |
expired |
NotBefore/NotOnOrAfter سے باہر (اسکیو سے زیادہ) |
audience |
مخاطب کی پابندی ہمارا نام نہیں لیتی |
destination |
ریسپانس کی منزل ہمارا ACS نہیں |
request_match |
InResponseTo کسی زیر التواء درخواست سے مماثل نہیں، یا غیر طلب شدہ جب کہ ممنوع ہو |
issuer |
جاری کنندہ کنفیگر شدہ IdP نہیں |
recipient |
سبجیکٹ کی تصدیق کا وصول کنندہ ہمارا ACS نہیں |
malformed |
XML/اسکیما سطح کی ناکامی |
status |
IdP کا بتایا ہوا status، Success نہیں تھا |
invalid / internal |
کوئی بھی اور / seam کی ناکامی |
ڈیٹا بیس کی سطحیں
سیکشن کا عنوان “ڈیٹا بیس کی سطحیں”sso_connections(global.db) — فی قسم ایک قطار، ڈیزائن ہی سے ورک اسپیسوں کے پار۔users.sso_subject+users.sso_issuer— فراہم کنندہ سبجیکٹ کا پن، جو(issuer, subject)کے حساب سے پارشل انڈیکس کے ذریعے یکتا ہے۔users.deactivated_at— SCIM ڈی ایکٹیویشن کا اسٹیمپ۔- SCIM bearer ٹوکن اور OIDC کلائنٹ سیکرٹ 0600 سیکرٹس فائل میں رہتے ہیں، ڈیٹا بیس میں کبھی نہیں۔