Verbind ownCloud Infinite Scale met Keycloak via OIDC.

Gebruikers komen vaak op de Keycloak-aanmeldingspagina terecht, authenticeren zich, maar belanden vervolgens weer op het ownCloud Infinite Scale-aanmeldingsscherm of krijgen een foutmelding 'onbekende gebruiker'. De gebruikelijke oorzaken zijn een realm issuer die niet overeenkomt, een webclient die is gekopieerd van een andere voorbeeldversie, of een identiteitsclaim die niet overeenkomt met een oCIS-account. Configureer Keycloak als de externe OpenID Connect-provider (OIDC) van oCIS, zorg ervoor dat deze drie waarden overeenkomen en controleer of de browser en clients de provider via HTTPS kunnen bereiken.

Deze handleiding maakt gebruik van fictieve hosts: cloud.example.comvoor oCIS en sso.example.comvoor Keycloak. De configuratie verwijst naar de documentatie van ownCloud Infinite Scale 8.2; vergelijk de namen met de documentatie van uw geïnstalleerde versie voordat u ze toepast. Dit is voor Infinite Scale (oCIS), niet voor ownCloud Server 10.

1. Controleer het domein en het ontdekkings-eindpunt.

Een identiteitsprovider (IdP) authenticeert gebruikers voor een andere service. OpenID Connect is het aanmeldingsprotocol waarmee oCIS de aanmeldings- en identiteitsgegevens van Keycloak kan vertrouwen. Een realm is de afzonderlijke set gebruikers, clients en instellingen van Keycloak. Kies de realm die oCIS zal bedienen en identificeer vervolgens de URL van de uitgever: voor de voorbeeldrealm ocisis dit https://sso.example.com/realms/ocis.

Voordat u oCIS bewerkt, opent u het https://sso.example.com/realms/ocis/.well-known/openid-configurationin een browser. Dit OpenID Connect-ontdekkingsdocument beschrijft de eindpunten van de provider. Controleer of de issuerwaarde exact overeenkomt met de realm-URL, inclusief schema, host, hoofdlettergebruik en pad. De uitgever mag niet de beheerderspagina of de langere ontdekkings-URL zijn. Het TLS-certificaat van de provider moet worden vertrouwd door de browsers van de gebruikers en door de oCIS-server/container.

De OpenID Connect discovery JSON toont de uitgever https://sso.example.com/realms/ocis in het Keycloak realm-antwoord.
Het ontdekkingsdocument moet de exacte realm-uitgever vermelden die in oCIS is geconfigureerd.

Als de ontdekkings-URL niet laadt, los dan eerst problemen met DNS, reverse-proxy-routering, firewall of certificaten op. Een succesvolle browserrespons alleen bewijst niet dat de oCIS-container Keycloak kan bereiken; controleer ook de netwerktoegang vanuit het implementatienetwerk van de server. De OpenID Connect-ontdekkingsregels vereisen dat de geretourneerde uitgever dezelfde provider identificeert. Zie de OpenID Connect Discovery-specificatie .

2. Koppel de Keycloak-client aan de oCIS-webapp.

Gebruik het bijgewerkte ownCloud Keycloak-implementatievoorbeeld als uitgangspunt en stem het realm-bestand af op uw oCIS-release. Gebruik geen verschillende versies: het huidige compose-voorbeeld gebruikt de webclient-ID web, terwijl oudere installatie-instructies vermelden ocis-web. Keycloak en oCIS moeten dezelfde client-ID gebruiken.

Open in Keycloak het geselecteerde domein en de webclient. Stem de aanmeldingsprocedure en client-ID af op het ownCloud-voorbeeld. Stel geldige redirect-URI's in naar de exacte callback-adressen die vereist zijn voor dat domein, met behulp van de openbare HTTPS-host. Stel web-origins alleen in zoals de sjabloon vereist. De onderstaande wildcard is slechts een voorbeeld en geen aanbeveling voor productieomgevingen: brede redirect-patronen kunnen leiden tot onbedoelde bestemmingen. Labels kunnen variëren per Keycloak-release.

Voorbeelden van Keycloak-clientinstellingen tonen de webclient-ID en velden voor geldige redirect-URI's en webbronnen.
Gebruik de omleidings-URI en client-ID uit de realm-sjabloon die overeenkomt met uw oCIS-versie; de ​​weergegeven waarden zijn voorbeelden.

Zorg ervoor dat de openbare hostnaam van Keycloak stabiel blijft. Als TLS eindigt bij een reverse proxy, configureer dan de openbare hostnaam en de headers voor vertrouwde proxy's, anders kunnen redirects het verkeerde schema of de verkeerde host gebruiken; volg de richtlijnen voor reverse proxy's van Keycloak . Vervang de beheerdersgegevens van de demo voordat u Keycloak beschikbaar maakt.

3. Koppel oCIS aan dezelfde uitgever en klant.

Voeg deze variabelen toe aan de oCIS-service in uw implementatieconfiguratie, waarbij de overige instellingen en geheimen behouden blijven. Het voorbeeld maakt gebruik van fictieve URL's en de huidige voorbeeldclient-ID:

OCIS_URL=https://cloud.example.com
OCIS_OIDC_ISSUER=https://sso.example.com/realms/ocis
WEB_OIDC_CLIENT_ID=web
PROXY_OIDC_REWRITE_WELLKNOWN=true
OCIS_EXCLUDE_RUN_SERVICES=idp

OCIS_URLis het openbare oCIS-adres; de uitgever en client-ID moeten exact overeenkomen met Keycloak. De herschrijving maakt het ontdekkingspad mogelijk dat wordt gebruikt door desktop-, Android- en iOS-clients. Uitsluiting idpschakelt de ingebouwde provider uit in implementaties met externe IdP's; laat deze optie weg als uw configuratie deze service bewust gebruikt.

De configuratie-editor toont OCIS_URL, OCIS_OIDC_ISSUER, PROXY_OIDC_REWRITE_WELLKNOWN en OCIS_EXCLUDE_RUN_SERVICES.
Deze oCIS-instellingen verwijzen authenticatie naar Keycloak en routeren OIDC-ontdekking naar de externe provider.

Voer de wijzigingen door via het normale herstartproces van uw implementatie. Gebruik Docker Compose docker compose up -dvanuit de compose-directory om de gewijzigde services opnieuw aan te maken en controleer vervolgens de oCIS-logboeken. Gebruik vertrouwde TLS-certificaten in productie. Het ownCloud-voorbeeld markeert dit INSECURE=trueals een lokale optie voor zelfondertekende certificaten; verwijder deze of stel deze in op 'false' op een server die toegankelijk is via internet. ownCloud geeft ook aan dat dit niet PROXY_OIDC_INSECUREin productie gebruikt moet worden.

4. Bepaal hoe oCIS gebruikers moet identificeren.

Een claim is een OIDC-identiteitsveld, zoals sub<username>, preferred_username<mailname> of <user-ID> email. oCIS gebruikt dit om een ​​account te vinden. Voor bestaande gebruikers koppelt u het aan het attribuut dat ze al gebruiken: gebruikersnaam, e-mailadres of gebruikers-ID. Een onjuiste koppeling kan leiden tot de melding "gebruiker niet gevonden" nadat Keycloak de aanmelding heeft geaccepteerd.

Om accounts aan te maken bij de eerste aanmelding, moet u dit PROXY_AUTOPROVISION_ACCOUNTS=truealleen instellen wanneer dit de bedoeling is en nadat u schrijfrechten hebt ingeschakeld in de oCIS Graph-gebruikersbackend. De identificatiecode moet uniek, stabiel en nooit opnieuw toegewezen zijn. ownCloud identificeert deze subals geschikt; gebruik alleen het e-mailadres of de gewenste gebruikersnaam als deze niet kan worden gewijzigd. Zorg ervoor dat de claims voor het aanmaken en opzoeken van accounts op elkaar zijn afgestemd:

PROXY_AUTOPROVISION_ACCOUNTS=true
PROXY_AUTOPROVISION_CLAIM_USERNAME=sub
PROXY_USER_OIDC_CLAIM=sub
PROXY_USER_CS3_CLAIM=username

Controleer of Keycloak de gekozen claim retourneert in het token of de gebruikersinformatie. Als automatische provisioning is uitgeschakeld, wordt er bij het inloggen geen nieuwe gebruiker aangemaakt; met een alleen-lezen Graph-backend kan provisioning mislukken. Voeg groeps- of roltoewijzingen pas toe nadat het inloggen is gelukt. Raadpleeg de documentatie van ownCloud 8.2 over proxy's en automatische provisioning voordat u schrijftoegang inschakelt of identiteitstoewijzingen wijzigt.

Controleer het volledige aanmeldproces.

Open oCIS in een privévenster van uw browser en meld u aan. U zou de Keycloak-realm moeten bereiken, authenticeren en terugkeren naar dezelfde oCIS-host als het verwachte account. Test eerst een bestaand account. Als provisioning is ingeschakeld, test dan een goedgekeurde nieuwe gebruiker en controleer of deze eenmaal is aangemaakt met de beoogde gebruikersnaam. Meld u af en herhaal het inlogproces.

Naast een lijst met cloudbestanden, waaronder de mappen Documenten, Foto's, Projecten en Gedeelde bestanden, verschijnt een aanmeldingsformulier.
Na een succesvolle authenticatie zou de browser terug moeten keren naar de interface voor cloudbestanden.

Voor desktop- of mobiele detectie, open https://cloud.example.com/.well-known/openid-configuration; de herschrijving moet de providerinformatie van Keycloak weergeven. Een inloglus wijst op een redirect-host of een mismatch in het schema. Een geweigerde gebruiker na een succesvolle login wijst op een ontbrekende claim of een mismatch tussen PROXY_USER_OIDC_CLAIMen PROXY_USER_CS3_CLAIM.

Laat een reactie achter

Verwijder de ownCloud Apache .htaccess-waarschuwing op een veilige manier.

Verwijder de ownCloud Apache .htaccess-waarschuwing op een veilige manier.

Stel AllowOverride All alleen in voor de webroot van ownCloud, valideer de actieve Apache vhost en herlaad de pagina veilig om de .htaccess-regels te herstellen.

Stel ownCloud Enterprise Auditing in en controleer de logboeken.

Schakel de Enterprise Auditing-app van ownCloud in, stuur admin_audit-gebeurtenissen door naar een beveiligd logbestand en bevestig dat daadwerkelijke gebruikersacties worden vastgelegd.

Verbind ownCloud Infinite Scale met Keycloak via OIDC.

Verbind ownCloud Infinite Scale met Keycloak via OIDC.

Stem de realm issuer, webclient en gebruikersclaims van Keycloak op elkaar af, zodat ownCloud Infinite Scale gebruikers betrouwbaar kan aanmelden via web- en mobiele clients.

OwnCloud-bestanden overdragen aan een nieuwe eigenaar zonder uw aandelen te verliezen.

Met het occ-commando van ownCloud kunt u bestanden die eigendom zijn van en gedeelde mappen naar andere accounts overzetten, inzicht krijgen in wat er achterblijft en de toegang controleren voordat u het oude account verwijdert.

Versnel ownCloud 10-query's door indexen veilig te beheren.

Leer wanneer de database-indexen van ownCloud 10 aandacht nodig hebben, hoe u ondersteunde schema-updates veilig kunt toepassen en wanneer het optimaliseren van query's of een databasewijziging de betere oplossing is.

Een SMB/CIFS-share koppelen in ownCloud zonder Linux-koppeling

Verbind een Windows- of Samba-netwerkshare met ownCloud via Externe opslag, verifieer de inloggegevens en los problemen met ontoegankelijke mappen veilig op.

Verwijder veilig ownCloud-bestandsversies met het occ-commando.

Verwijder veilig ownCloud-bestandsversies met het occ-commando.

Verwijder alle opgeslagen ownCloud Server Classic-bestandsversies voor één account of alle gebruikers en maak onderscheid tussen een volledige verwijdering en een verwijdering op basis van bewaartermijn.

OwnCloud mobiele verbinding geweigerd? Controleer de URL en bereikbaarheid.

OwnCloud mobiele verbinding geweigerd? Controleer de URL en bereikbaarheid.

Traceer een geweigerde mobiele verbinding met ownCloud door de server-URL, het telefoonnetwerk, het HTTPS-eindpunt en de serverlogboeken in de juiste volgorde te controleren.

Voer ownCloud-achtergrondtaken betrouwbaar uit met een Systemd-timer.

Vervang de handmatige uitvoering van taken door een systemd-timer die elke 15 minuten de door ownCloud ondersteunde occ system:cron-opdracht uitvoert.

Herstel de ownCloud WebDAV-synchronisatie door de defecte route te vinden.

Traceer het WebDAV-verzoek via Apache, Nginx of een reverse proxy en bevestig vervolgens dat ownCloud-synchronisatie werkt met een geauthenticeerde PROPFIND-test.