راهاندازی SSO در کانفلوئنس
بازارچه ابریخواندن 7 دقیقه
بهطور کلی اتصال Confluence به Keycloak با استفاده از OpenID Connect امکان مدیریت مرکزی کاربران را فراهم میکند، به طوری که ادمینها میتوانند حسابها، گروهها و دسترسیها را از یک سیستم واحد کنترل کنند و نیاز به مدیریت جداگانه در هر ابزار را حذف نمایند.
پیشنیازها
- یک سرویس فعال Confluence و دسترسی ادمین
- یک سرویس فعال Keycloak
گام اول: در یافت اطلاعات مورد نیاز
بهطور کلی در این مرحله میخواهیم آدرس redirect و base url را کپی کنیم. ابتدا وارد مسیر زیر شوید
⚙️ > Configuration > Authentication methods
در این صفحه برای روی Add configuration کلیک نمایید و وارد صفحه کانفیگ شوید.
یک نام منحصربهفرد برای تنظیمات وارد کنید (مثلاً "Keycloak OIDC") و از منوی Authentication method، گزینه OpenID Connect single sign-on را انتخاب کنید.
در این صفحه confluence Redirect URL (یا Callback URL) را نمایش میدهد. این URL چیزی شبیه
https://your-confluence-domain/plugins/servlet/oidc/callback
است. این URL را کپی کنید – برای تنظیم Keycloak در آینده نیاز است. در ادامه این صفحهها ذخیره نکنید؛ ابتدا Keycloak را تنظیم کنید.
گام دوم: تنظیم Keycloak به عنوان ارائهدهنده OIDC
فاز اول تنظیمات کیکلوک
-
به کنسول ادمین Keycloak وارد شوید (مثلاً
https://your-keycloak-domain/admin) -
Realm مورد نظر را انتخاب کنید (یا اگر لازم، Realm جدیدی ایجاد کنید).
-
در منوی سمت چپ، به Clients > Create client بروید.
-
Client type را روی OpenID Connect تنظیم کنید.
-
یک Client ID منحصربهفرد وارد کنید (مثلاً "confluence-oidc-client").
-
اختیاری: یک Name وارد کنید (مثلاً "confluence").
-
روی Next کلیک کنید.
-
Client Authentication/Authorization را فعال کنید (روی On تنظیم کنید).
-
روی Next کلیک کنید.
-
در تنظیمات ورود (Login settings):
-
Root URL را روی URL پایه confluence تنظیم کنید:
https://my-domain.darkube.app. -
Home URL را همان تنظیم کنید.
-
در Valid redirect URIs، URL Redirect کپیشده از confluence را اضافه کنید . برای مثال:
https://my-domain.darkube.app/plugins/servlet/oidc/callback -
در Valid post logout redirect URIs، همان HOME URL یا URL خروج confluence را اضافه کنید (اختیاری اما توصیهشده).
-
Web origins را روی
+تنظیم کنید (اجازه همه از redirect URIs) یا دامنه confluence را مشخص کنید. -
روی Save کلیک کنید.
-
یه تب Credentials بروید و Client Secret را کپی کنید (برای confluence نیاز است).
-
در این مرحله با مراجعه به آدرس discovery URL زیر تنظیمات اصلی ایجاد شده شامل اندپوینت هایی مورد نیاز کلاینت وجود دارد
https://my-keycloak.darkube.app/realms/confluence/.well-known/openid-configuration
فاز دوم تنظیمات کیکلوک
هدف کلی فاز دوم تنظیم client scopes کلاینت کیکلوک مورد نظر است.
با توجه به اینکه انتظار میرود یوزرهای مورد نظر در کیکلوک دسترسی مورد نظر کانفلوئنس را داشته باشند، در قسمت Groups، گروهی با نام confluence-users ایجاد نمایید و یوزرهای مورد نظر را به آن اضافه کنید.
از اضافه شدن یوزر(های) مورد نظر به این گروه اطمینان حاصل بفرمایید.
در صورتی که یوزری وجود ندارد، بعد از ساخت یوزر ، در تب Groups، آن را به گروه کانفلوئنس اضافه نمایید و در تب Credentials پسورد اضافه نمایید. از enable بودن email verified یوزرها اطمینان حاصل بفرمایید.
در قسمت clients با کلیک بر confluence-oidc-client (کلاینت آیدی ساخته شده از مرحله قبل) وارد قسمت client scopes شوید.
وارد تب Evaluate شوید و بعد از انتخاب یوزر مورد نظر (یوزری که قرار است دسترسی کانفلوئنس داشته باشد) روی Generate ID Token کلیک کنید. یک json به نمایش درمیآید که حاوی یک سری key value است.
این json برای شفافیت تنظیمات و دیباگهای آینده مناسب است. برای این سند، فیلدهای زیر باید در این json وجود داشته باشند:
-
فیلد groups با مقدار confluence-users
-
فیلدهای preferred_username، given_name، family_name، sub و email در صورتی که این فیلدها یا یکی از آنها نبودند، باید در همین آدرس client scopes مجددا وارد کلاینتآیدی شوید و بعد از کلیک بر کلاینت آیدی -dedicated وارد صفحه Dedicated scopes این کلاینت شوید و هر کدام از فیلدهای بالا را که نداشتید از طریق Add mapper اضافه کنید.
در صورت نداشتن groups، با کلیک بر Add mapper و انتخاب By configuration، آیتم Group Membership را انتخاب کرده و نام و کلیمنیم groups را وارد نمایید و Full Groups Path را Off نمایید.
در انتها انتظار میرود بعد از انجام تنظیمات بالا فیلدهای مربوطه اضافه شده است. این فیلدها در آینده در تنظیمات کانفلوئنس مورد استفاده قرار خواهند گرفت.
گام سوم: تنظیمات کانفلوئنس
در این قسمت URL Issuer Realm و client id و client secret را وارد کرده و مشابه تصاویر زیر مابقی تنظیمات را وارد میکنیم.
تنظیمات OpenID connect
به مپینگ وارد شده و سینتکس آن توجه فرمایید. بر حسب نیازمندی شما میتواند متفاوت باشد.
تنظیمات JIT provisioning
Create users on login to the application (ایجاد/بهروزرسانی خودکار کاربران در ورود اول) برای JIT provisioning را فعال کنید. بهطور کلی هدف این تنظیمات ساخت یوزر کیکلوک در کانفلوئنس است. نکته: در نظر داشته باشید همانطور که گفته شد یوزرهای کیکلوک می باستی در گروه confluence users مشابه قرار داشته باشند.