پرش به مطلب اصلی
فعال‌سازی احراز هویت در جیتسی

فعال‌سازی احراز هویت در جیتسی

بازارچه ابریخواندن 7 دقیقه

در این آموزش، موضوع احراز هویت در جیتسی و روش‌های فعال‌سازی آن بررسی می‌شود.

پیش‌نیازها

  • یک اپ فعال Jitsi و دسترسی به تنظیمات و ترمینال آن در کنسول هم‌روش
  • یک دامنه HTTPS برای Jitsi
  • انتخاب یکی از روش‌های Internal،‏ JWT یا LDAP پیش از تغییر تنظیمات
  • برای روش JWT، یک سرویس Keycloak یا ارائه‌دهنده سازگار با OpenID Connect و دسترسی ساخت Client
  • برای روش LDAP، یک سرور LDAP در دسترس و اطلاعات اتصال و Bind

روش‌های احراز هویت

به‌طور کلی جیتسی دارای ۳ روش اصلی برای احراز هویت است. این روش‌ها عبارت‌اند از:

  • احراز هویت داخلی (Internal)
  • توکن (JWT)
  • LDAP

در ادامه، هرکدام از این روش‌ها بررسی می‌شود.

احراز هویت داخلی (Internal)

در این روش، جیتسی از یوزرهای داخلی خود استفاده می‌کند و این یوزرها باید به‌صورت دستی تعریف و ساخته شوند؛ جزئیات این روش در مستند رسمی «Secure Domain Setup» آمده است. برای استفاده از این روش، ابتدا باید اپ جیتسی کانفیگ شود:

به صفحه اپ در بازارچه مراجعه و روی تب تنظیمات کلیک می‌شود.

سپس روی بخش متغیرها کلیک می‌شود.

متغیرهای زیر همراه با مقدار آن‌ها وارد و روی «اعمال تغییرات» کلیک می‌شود.

متغیرتوضیحاتمقدار
ENABLE_AUTHفعال‌سازی احراز هویت1
AUTH_TYPEانتخاب نوع احراز هویتinternal

از این پس، کاربران جدید اضافه می‌شوند و می‌توان از امکانات داخلی جیتسی استفاده کرد. برای این کار، به صفحه ترمینال اپ مراجعه و پاد Prosody انتخاب می‌شود.

در نهایت با استفاده از کامندهای زیر در ترمینال، کاربران مدیریت می‌شوند:

# افزودن کاربر جدید
prosodyctl --config /config/prosody.cfg.lua register <username> meet.jitsi <password>

# حذف کاربر
prosodyctl --config /config/prosody.cfg.lua unregister <username> meet.jitsi

# مشاهده لیست کاربران
find /config/data/meet%2ejitsi/accounts -type f -exec basename {} .dat \;

توکن (JWT)

با استفاده از روش توکن، احراز هویت جیتسی به یک سرویس خارجی واگذار می‌شود. در نمونه بازارچه، آداپتور OIDC همراه اپ جیتسی ورود کاربر با Keycloak را انجام می‌دهد و سپس JWT موردقبول Jitsi را می‌سازد.

تنظیم Client در Keycloak

پیش از تنظیم متغیرهای جیتسی، طبق مستند رسمی «Creating an OpenID Connect client»، یک Client در Keycloak (یا هر ارائه‌دهنده OIDC دیگر) ساخته می‌شود:

  1. یک Client جدید با نوع OpenID Connect ساخته می‌شود.
  2. Client authentication روی حالت فعال (Confidential) قرار می‌گیرد تا برای این Client یک Secret تولید شود.
  3. در Valid redirect URIs، آدرس callback آداپتور OIDC به‌صورت دقیق اضافه می‌شود:
https://my.jitsi.domain/oidc/tokenize
  1. از تب Credentials همان Client، مقدار Client Secret کپی می‌شود.

Client ID و Client Secret ساخته‌شده در این مرحله، در ادامه در متغیرهای OIDC_CLIENT_ID و OIDC_CLIENT_SECRET استفاده می‌شوند.

به صفحه اپ در بازارچه مراجعه و روی تب تنظیمات کلیک می‌شود.

سپس روی بخش متغیرها کلیک می‌شود.

متغیرهای زیر همراه با مقدار آن‌ها وارد و روی «اعمال تغییرات» کلیک می‌شود.

توضیحات متغیرها

متغیرتوضیحاتمثال
ENABLE_AUTHفعال‌سازی احراز هویت1
AUTH_TYPEانتخاب نوع احراز هویت توکنjwt
OIDC_ISSUER_URLآدرس ارائه سرویس OIDC (آدرس Realm در Keycloak)https://my.keycloak.domain/realms/myrealm
OIDC_CLIENT_IDClient ID ساخته‌شده در Keycloakjitsi
OIDC_CLIENT_SECRETClient Secret همان Client در Keycloakmykeycloakclientsecret
JWT_APP_IDنام استفاده‌شده در iss و aud توکنmyjitsi
JWT_APP_SECRETSecret استفاده‌شده برای امضا و بررسی توکنmy-very-long-secret
TOKEN_AUTH_URLآدرس ریدایرکت جهت احراز هویتhttps://my.jitsi.domain/oidc/auth?state={state}
  • آدرس TOKEN_AUTH_URL باید آدرس دامنه جیتسی باشد و عبارت /oidc/auth?state={state} به آن اضافه شود. برای مثال اگر دامنه استفاده‌شده example.com باشد، مقدار این متغیر برابر https://example.com/oidc/auth?state={state} خواهد بود.

LDAP

با استفاده از این روش، جیتسی به سرور LDAP متصل می‌شود و از کاربران درون LDAP جهت احراز هویت در جیتسی استفاده می‌شود. مراحل فعال‌سازی این روش در ادامه آمده است:

به صفحه اپ در بازارچه مراجعه و روی تب تنظیمات کلیک می‌شود.

سپس روی بخش متغیرها کلیک می‌شود.

متغیرهای زیر همراه با مقدار آن‌ها وارد و روی «اعمال تغییرات» کلیک می‌شود.

متغیرتوضیحاتمقدار
ENABLE_AUTHفعال‌سازی احراز هویت1
AUTH_TYPEانتخاب نوع احراز هویت LDAPldap
LDAP_URLآدرس اتصال به سرور LDAPldaps://ldap.example.com/
LDAP_BASEBase DN جست‌وجو در LDAPdc=example,dc=com
LDAP_BINDDNDN کاربر برای اتصال (Bind)؛ برای bind ناشناس خالی می‌ماند
LDAP_BINDPWرمز عبور همان کاربر؛ برای bind ناشناس خالی می‌ماند
LDAP_FILTERفیلتر جست‌وجوی کاربر در LDAP
LDAP_TLS_CHECK_PEERاعتبارسنجی گواهی سرور LDAP1
این راهنمایی کاربردی بود؟

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