J’ai récemment rédigé une doc qui illustre l’utilisation de OAuth 2 avec GitHub. Elle est disponible ici :
Bien évidemment, l’idée étant que tu devrais avoir ton propre serveur d’authentification OAuth2 (et non pas celui de GitHub) afin de te permettre de centraliser ta base d’utilisateurs avec d’autres applications tierces.
Bonjour je rebondis sur ce sujet !
Je viens d’installer pour le boulot Fab-Manager déjà merci pour cet outil !!
J’ai pris la version ‹ prod › en mode docker
tout marche bien, sauf que maintenant je veux le connecter à notre serveur CAS via Oauth2 !
j’ai donc monté la brique Oauth2 sur notre serveur CAS, je l’ai testée et pu l’utiliser avec une autre appli (rocket.chat) Elle est donc fonctionnelle.
j’ai voulu la configurer pour fab-manager et oops ! je n’y suis pas arrivé
J’ai bien évidemment repris le tuto mentionné dans le post de Sylvain en vain.
J’ai essayé avec une authentification via le Oauth2 de Github et même résultat.
Lors que j’essaye de me connecter je suis redirigé vers une url du type /users/auth/oauth2-github et là j’ai un message d’erreur : « Not found. Authentication passthru. »
et ceci avec la config Github ou la config sur mon serveur Oauth2
J’ai beau « googliser » sur ce problème, je n’ai pas trouvé de solutions pertinentes
n’étant pas à l’aise avec docker, ruby & co je ne sais pas trop que faire.
Un peu d’aide serait la bienvenue !
je creuse je creuse et j’ai peut être trouvé un élément de reponse
mon site est en https, quand je clique sur « se connecter » j’ai un lien sur une page sso_redirect, qui elle même fait un post sur la page en question : /users/auth/oauth2-github
le problème est que le POST est en http !! même si le site est en https !!
si je passe le site en http, le post se produit et le message d’erreur n’est pas le même , car je pense que l’on ne peut pas faire de l’auth en non SSL ?
comment faire en sorte que le POST se fasse en HTTPS et pas HTTP ??
Merci pour la réponse,
mais hélas tout est bien en https, ce n’est donc pas à l’origine du dysfonctionnement.
Le problème est en amont de ça, car c’est en cliquant depuis fabmanager, sur le bouton de connexion, qu’une requête POST part, et qu’elle part en HTTP et non pas HTTPS. Mon serveur oauth à ce niveau là n’est pas encore sollicité.
J’ai exactement la même chose si je tente une authentification avec le serveur oauth de github en suivant le tuto en question.
ce qui me fait encore plus dire que ce n’est pas le serveur oauth qui est en question mais bien le client, et donc fabmanager.
Cela pourrait-être ta configuration de nginx, notamment si tu as un nginx en plus de celui fourni par FM.
Voir ce commentaire pour les directives requises.
Pour info, je viens de configurer un SSO oAuth 2 sur notre serveur de staging, sans problème, en suivant les instructions de la doc avec Github.
j’ai les deux…
depuis l’extérieur je passe pas un proxy sur un UTM, depuis le réseau local je tape directement sur le nginx présent dans le docker…
je vais creuser la piste toutefois du lien…
je viens de tester sur le serveur de staging et je vois bien passer la requete POST en https ! c’est ce que j’aimerai aussi
éventuellement je peux voir ta config de nginx ?
l’ajout des 3 lignes dans la config du nginx (X-Forwarded-Ssl on, X-Forwarded-Port 443 and X-Forwarded-Host hostname)
n’a pas résolu mon souci et la requete POST part toujours en http et pas https
Note : tu peux aussi tenter la mise à jour en 4.5.0, j’ai fait une petite modif concernant la génération du lien du sso (perso ça n’a rien changé chez moi mais sait-on jamais…)
héhéhé !!!
la petite note de bas de page : ‹ tu peux aussi tenter la mise à jour en 4.5.0, j’ai fait une petite modif concernant la génération du lien du sso › m’a sauvé !!
mon oauth sur github fonctionne maintenant !!!
je vais vite tester sur mon oauth local !!!
merci !! déjà un grand pas de fait !!
et ça fonctionne avec mon serveur oauth (CAS APEREO) top !!!
juste un nouveau problème à régler je ne reçois pas le code pour ‹ merger › mes deux comptes…
c’est un autre sujet !
merci en tout cas !!!
J’ai mis un accès a fabmanager par SSO et les nouveaux utilisateur.rices doivent renseigner des champs supplémentaires que ceux fournit par le SSO ie le genre par exemple. Est-ce possible de désactiver cette fonctionnalité qui n’est pas opportun pour nos utilisateur.rices ?
Oui et non : certains champs obligatoires peuvent être rendus optionnels (depuis Personnalisation > Général). Si tous les champs obligatoires sont fournis par le SSO alors la demande d’infos supplémentaire ne sera pas affichée.
D’accord mais le genre n’apparait ni dans les champs optionnels, ni dans les champs sso, pour autant c’est une information non essentiel pour mon organisation et une operation (inutile) pour l’utilisateur.
Du coup, possible de faire un hack rapide ? Attendre une update ? ni l’un ni l’autre ?
On a prévu de rendre le genre optionnel dans une prochaine version. Je ne peux pas encore te dire quand, ça nécessite un peu de boulot et on est bien bien chargés en ce moment