پرش به مطلب اصلی
راه‌اندازی SSO در کانفلوئنس

راه‌اندازی 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

فاز اول تنظیمات کی‌کلوک

  1. به کنسول ادمین Keycloak وارد شوید (مثلاً https://your-keycloak-domain/admin)

  2. Realm مورد نظر را انتخاب کنید (یا اگر لازم، Realm جدیدی ایجاد کنید).

  3. در منوی سمت چپ، به Clients > Create client بروید.

  4. Client type را روی OpenID Connect تنظیم کنید.

  5. یک Client ID منحصربه‌فرد وارد کنید (مثلاً "confluence-oidc-client").

  6. اختیاری: یک Name وارد کنید (مثلاً "confluence").

  7. روی Next کلیک کنید.

  8. Client Authentication/Authorization را فعال کنید (روی On تنظیم کنید).

  9. روی Next کلیک کنید.

  10. در تنظیمات ورود (Login settings):

  11. Root URL را روی URL پایه confluence تنظیم کنید: https://my-domain.darkube.app.

  12. Home URL را همان تنظیم کنید.

  13. در Valid redirect URIs، URL Redirect کپی‌شده از confluence را اضافه کنید . برای مثال:

    https://my-domain.darkube.app/plugins/servlet/oidc/callback

  14. در Valid post logout redirect URIs، همان HOME URL یا URL خروج confluence را اضافه کنید (اختیاری اما توصیه‌شده).

  15. Web origins را روی + تنظیم کنید (اجازه همه از redirect URIs) یا دامنه confluence را مشخص کنید.

  16. روی Save کلیک کنید.

  17. یه تب Credentials بروید و Client Secret را کپی کنید (برای confluence نیاز است).

  18. در این مرحله با مراجعه به آدرس 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 مشابه قرار داشته باشند.

تنظیمات اضافی:
  • Fill the data automatically from my chosen identity provider را فعال کنید تا endpoints مثل authorization، token و user info خودکار پر شوند (Keycloak از discovery URL پشتیبانی می‌کند).
  • Remember user logins را فعال کنید برای جلسه‌های پایدار.
  • Show IdP on the login page را فعال کنید تا دکمه ورود Keycloak در صفحه ورود نمایش داده شود.

و در انتها ذخیره را بزنید و خارج شوید.

مشابه تصویر زیر authentication method جدید خود اضافه شده است.

در نظر داشته باشید تا زمان تست نهایی و اطمینان از عملکرد حتما از Disable کردن login از طریق username password خودداری کنید. با کلیک بر Test sign-in می‌توانید تست کنید و یک دور مجدد login کنید و از غیر فعال بودن cache بروزر اطمینان حاصل فرمایید. همچنین جهت دیباگ با فعال‌سازی مدیریت فایل‌ها در کنسول هم‌روش وارد فایل سیستم کانفلوئنس شوید و در آدرس log/ فایل لاگ atlassian-confluence.log را با کلیدواژه /plugins/servlet/oidc/callback بررسی نمایید.

این راهنمایی کاربردی بود؟

با ثبت بازخوردتان در بهبود کیفیت مستندات مشارکت داشته باشید.