8 views
 owned this note
# Nextcloud 30 hub 9 + Keycloak 26.0.5 Installation Docker-compose de Keyclaok et Nextcloud ## KEYCLOAK Grace aux variables d'environnement, Keycloak fabrique un admin temporaire qu'il faut changer. Aller sur https://auth.lamiete.fr Cet user qu'on va upgrade au statut d'admin : Création d'user "zac" : ne pas oublier de créer son mot de passe via l'onglet "crédential". Création du role admin via "realm roles", admin, j'ai ajouté tous les "associated roles". ## Création du client Nextcloud Création du client "create client" Confirmation en OpenID Client ID: nextcloud Name: nextcloud Root URL: https://nuage.lamiete.fr Home URL : https://nuage.lamiete.fr Valid redirect URIs: https://nuage.lamiete.fr/* Web origine: https://nuage.lamiete.fr Admin URL: https://nuage.lamiete.fr Client authentification: ON Authorisation: ON Si vous avez ce message d'erreur ![](https://codimd.communecter.org/uploads/upload_b2f1722a512479e4c4e1912ebbc8659b.png) C'est le protocole sécurisé d'https qui pose problème. la redirection est possible avec un simple http. Configuration client nextcloud, client scope, ajouter prédéfini map "client roles" et ensuite le relié a l'ID client "nextcloud", et aussi activer l"userinfo" Récupération des informations du Realms dans "Realms setting" et tout en bas "OpenID Endpoint Configuration" pour récupérer les lien/URL qui permettons de relier Keycload à Nexcloud. Relier les groupes keycloak et Nextcloud: Il faut créer un client scope "groups-nextcloud" Name: groups-nextcloud Type: None Protocol: OpenID Connect Display on consent screen: On Include in token scope: On aller ensuite sur l'onglet "mappers", "add mappe", choisir "configuration..." et sélectionner "group membership" pour créer le token de liaison avec Nextcloud: apper type: Group Membership Name: groups-mapper Token Claim Name: groups Full group path: Off Add to ID token: Off Add to access token: On Add to lightweight access token: Off Add to userinfo: On Add to token introspection: Off Une fois le client scope créer, on va le rajouter au "client" de la barre de gauche, sélectionner "nextcloud", puis dans l'onglet "client scopes" et "add scope" "groups-nextcloud" par "défault" Création de groupes avec la barre sur la gauche "groups" J'ai créé un groupe "admin users" qui va s'occuper de la gestion des users avec les "role mapping": J'ai sélectionné : - master-realmview-users - master-realmquery-users - master-realmmanage-users - master-realmquery-groups - account view-groups Ainsi on peut ajouter les users dans les groupes "users", on sélectionne l'user et dans l'onglet "groups": "join group" ## NEXTCLOUD Création d'un admin Installer l'application/pluggin "Social login" pour relié les deux applis utiliser le "parametre admin" puis "Connexion via Social" J'ai coché "créer les groupes automatiquement s'ils n'existent pas" Créer une connexion OpenID personnalisé Rentrer toutes les caractérisitques récupérées de "OpenID Endpoint Configuration" Keycloak: Nom interne: Keyclaok Fonction: keycloak URL d'autorisation: https://auth.lamiete.fr/realms/master/protocol/openid-connect/auth URL du jeton: https://auth.lamiete.fr/realms/master/protocol/openid-connect/token Réclamation du nom d'affichage (optionnel): (je n'ai rien mis) URL des informations utilisateurs (optionnel): https://auth.lamiete.fr/realms/master/protocol/openid-connect/userinfo URL après déconnexion (optionnelle): https://auth.lamiete.fr/realms/master/protocol/openid-connect/logout Identifiant client: nextcloud Secret client: xxxxxxxxx (a récupérer sur keycloak dans "client" "nextcloud" "Credentials", il est masqué "client secret") Portée: openid Réclamation des groupes (optionnel): groups Apparence du bouton: (au choix) Groupe par défaut: aucun ### Guide qui m'a aidé: - [Video plouf](https://www.youtube.com/watch?v=Pb2OkR0Pt8c) - https://github.com/zorn-v/nextcloud-social-login/blob/master/docs/sso/keycloak.md