BigBlueButton.plNiezależny serwis po polsku

Greenlight: logowanie zewnętrzne

Konfiguracja zewnętrznego uwierzytelniania oraz integracja z dostawcą tożsamości.

Tłumaczenie automatyczne 4.0 Stan źródeł:
Ilustracja rozdziału: Greenlight: logowanie zewnętrzne
Ilustracja z repozytorium dokumentacji BigBlueButton, tag v4.0.0. Niektóre obrazy źródłowe przedstawiają starszy interfejs. Źródło ilustracji.

OpenID Connect vs Keycloak

Greenlight v3 oferuje obsługę zewnętrznego uwierzytelniania poprzez OpenID Connect. Jeśli posiadasz serwer uwierzytelniający obsługujący ten protokół, możesz łatwo połączyć go z Greenlight v3 za pomocą zmiennych środowiskowych. Więcej informacji można znaleźć w sekcji Konfiguracja OpenID Connect.

Jeśli nie posiadasz serwera uwierzytelniającego, zalecanym rozwiązaniem jest Keycloak. Obsługuje wiele metod uwierzytelniania, w tym Google, Microsoft, SAML i inne. Aby uzyskać pełną listę obsługiwanych dostawców tożsamości, zobacz Dostawcy tożsamości Keycloak.

Instalowanie Keycloak

Jeśli użyłeś Skryptu instalacyjnego BigBlueButton bez przekazania opcji -k, możesz po prostu ponownie uruchomić skrypt instalacyjny, korzystając z tych samych opcji co poprzednio, tym razem mijając -k, aby zainstalować Keycloak na swoim serwerze.

Jeśli użyłeś Skrypt instalacyjny Greenlight bez przekazania opcji -k, możesz po prostu ponownie uruchomić skrypt instalacyjny, korzystając z tych samych opcji, co poprzednio, tym razem przekazując -k, aby zainstalować Keycloak na swoim serwerze.

Konfigurowanie Keycloak


Po zakończeniu instalacji Keycloak będziesz musiał skonfigurować Keycloak zgodnie ze swoimi potrzebami. W tym przewodniku znajdziesz przykład łączenia się z uwierzytelnianiem Google, ale możesz dostosować te kroki do swojego wdrożenia.

WAŻNA UWAGA: To jest przykładowa konfiguracja przeznaczona do testów. Aby zapoznać się z pełną konfiguracją produkcyjną, zapoznaj się z dokumentacją Keycloak.


Zacznij od dostępu do panelu administracyjnego poprzez https://<GREENLIGHT_HOSTNAME>/keycloak

Wybierz Administration Console i zaloguj się przy użyciu danych wydrukowanych podczas the Keycloak Installation process.

Zacznij od utworzenia nowej domeny dla Greenlight, najeżdżając kursorem na dziedzinę Master w lewym górnym rogu i klikając Create Realm.

Ustaw nazwę dziedziny na greenlight i kliknij przycisk Utwórz.

Add Realm

Następnie utwórz nowego klienta klikając zakładkę Clients po lewej stronie, a następnie klikając Create Client. Ustaw Client type na OpenID Connect i Client ID na greenlight. Po potwierdzeniu, że wartości są prawidłowe, kliknij Next

Create Clients

Ustaw Client authentication na ON i oraz Valid Redirect URIs to https://<GREENLIGHT_URL>/*. Po ustawieniu wartości kliknij Save.

Valid Redirect

Valid Redirect

Podczas pobytu w Clients, kliknij zakładkę Credentials u góry strony i zapisz zmienną Client secret z boku (będzie to OPENID_CONNECT_CLIENT_SECRET później w .env).

Client Creds

Aby dodać dostawcę tożsamości, kliknij Identity Providers po lewej stronie i wybierz żądanego dostawcę (w tej instalacji będziemy korzystać z usług Google).

Idp

W przypadku Google postępuj zgodnie z tym przewodnikiem, aby uzyskać dane uwierzytelniające: Poświadczenia Google OAuth.

Możesz swobodnie korzystać z usług różnych dostawców i zapoznać się z ich dokumentacją dotyczącą tworzenia i uzyskiwania danych uwierzytelniających OpenID.

Po uzyskaniu danych uwierzytelniających Google wypełnij pola Client ID i Client Secret i kliknij Save.

Google Creds

Następnie musimy ustawić Google jako naszą domyślną metodę uwierzytelniania, aby zapewnić naszym użytkownikom bezproblemowy proces logowania. Kliknij Authentication w menu po lewej stronie.

Kliknij browser, a następnie znajdź wiersz Identity Provider Redirector i kliknij tryb ustawień po prawej stronie

Auth Actions.

Auth Actions.

Ustaw Alias na Google i Default Identity Provider na google (lub dowolnego wybranego dostawcę tożsamości). Gdy już skończysz, kliknij Save

Auth Actions.

Na koniec musimy połączyć Greenlight z Keycloak za pomocą zmiennych OpenID Connect .env.

Wróć do Realm Settings w menu po lewej stronie i kliknij OpenID Endpoint Configuration

Realm Creds

Skopiuj adres URL wyświetlany po issuer

Issuer

Teraz edytuj swój plik .env i odkomentuj następujący blok (usuń # przed każdą zmienną OPENID):

### EXTERNAL AUTHENTICATION METHODS
#
#OPENID_CONNECT_CLIENT_ID=
#OPENID_CONNECT_CLIENT_SECRET=
#OPENID_CONNECT_ISSUER=
#OPENID_CONNECT_REDIRECT=

Na koniec wprowadź dane uwierzytelniające w następujący sposób:

  • <YOUR_SECRET> jest symbolem zastępczym sekretu klienta OpenID, który zapisałeś podczas kilku pierwszych kroków. — <ISSUER_URL> jest symbolem zastępczym adresu URL obszaru wydawcy Keycloak (który właśnie skopiowałeś). — <YOUR_GREENLIGHT_DOMAIN> jest symbolem zastępczym nazwy hosta Greenlight

Gdy już skończysz, powinien wyglądać mniej więcej tak:

### EXTERNAL AUTHENTICATION METHODS
#
OPENID_CONNECT_CLIENT_ID=greenlight
OPENID_CONNECT_CLIENT_SECRET=<YOUR_SECRET>
OPENID_CONNECT_ISSUER=<ISSUER_URL>
OPENID_CONNECT_REDIRECT=https://<YOUR_GREENLIGHT_DOMAIN>/

Pozostało tylko zrestartować Greenlight v3 i połączyć się z Keycloak

sudo docker-compose down && sudo docker-compose up -d

Obsługa awatarów

Greenlight może pobierać awatary użytkowników za pośrednictwem Keycloak, zapewniając ujednoliconą i spójną obsługę obrazów profilowych w różnych usługach. Chociaż tę funkcję do tej pory zweryfikowano tylko za pomocą Google OAuth, może ona również działać z innymi dostawcami OAuth skonfigurowanymi w Keycloak.

Najpierw kliknij Identity Providers po lewej stronie i wybierz skonfigurowanego dostawcę.

Issuer

Następnie na górze kliknij zakładkę Mappers

Issuer

Następnie kliknij Add mapper

Issuer

Na koniec wypełnij pola jak pokazano na obrazku poniżej i kliknij Save.

Issuer

Gotowe — obrazy awatarów powinny być teraz przekazywane przez Keycloak do Greenlight.