Sharepoint Office365 sur Linux : automatiser l'authentification
Suite de l'aventure avec Sharepoint !
On a pu passer 2 étapes cruciales pour jouer avec Sharepoint Online :
- Sharepoint Office365 sur Linux (Webdav/Davfs) avec des fichiers accentués
- Monter un partage Sharepoint Office365 sur Linux (Webdav/Davfs)
Après quelques jours d'utilisation, il s'avère que les cookies d'authentification ne sont plus valables. C'est un gros problème car c'est pénible de les récupérer manuellement pour ensuite les injecter dans le fichier de configuration Davfs.
J'ai planché quelques heures sur une solution : réaliser le parcours de connexion d'un utilisateur qui passerait par un navigateur web.
Le projet est libre et voici comment l'installer et l'utiliser.
Note : il faut avoir NodeJS sur sa machine. J'ai développé le code en version 6.13.0.
Il faudra déclarer 3 variables d'environnement contenant le site Sharepoint, l'identifiant de connexion et le mot de passe :
Il ne reste plus qu'à lancer le script qui devrait vous retourner du JSON avec les 2 cookies dedans :
À vous de choisir la méthode pour alimenter la configuration de Davfs avec ces données !

Sharepoint Office365 sur Linux : automatiser l'authentification (v2)
En septembre 2018, je publiais un article pour automatiser l'authentification sur Sharepoint…

Sharepoint Office365 sur Linux (Webdav/Davfs) avec des fichiers accentués
Suite de l'aventure avec Sharepoint ! Je me suis rendu compte que les répertoires et les fi…

Monter un partage Sharepoint Office365 sur Linux (Webdav/Davfs)
Dans le cadre de mon travail, je développe une application web (nommée Tools) qui fait offic…
Bonjour, Je viens vous demander de petits conseils car le script present sur votre repo me retourne une erreur et je dois dire ne pas trop savoir ce qu'il en est ..
Voici l'erreur en question:
Documents/SharePoint/office365-oauth2-authenticator/index.js:53 throw e; ^
TypeError: response.$ is not a function
Merci d'avance pour votre réponse, j'ai veritablement besoin que ce script fonctionne travaillant avec Sharepoint et Pop!_OS quotidiennement ..
Cordialement
Bonjour,
Avez-vous lancé la commande "npm install" de sorte à installer les dépendances du projet ?
Bonjour,
Oui tout à fait, j'ai suivi les recommandations présent sur le repo. (excusez mon temps de réponse tardif, je pensais recevoir une notif ^^)
J'ai arrêté d'envoyer des notifications car personnes n'en voulait jusqu’à présent :) Je propose de voir ça via un salon de discussion car cela sera compliqué par commentaire interposé.
Dispo via Matrix voire sur Discord (deblan#1707) même si je suis moins fan !
Je vous contacte sur Discord, merci bcp par avance ! :)
Bonjour, Je vous remercie pour votre script, je viens de faire le test mais j'ai des erreurs JS office365-oauth2-authenticator\index.js:53 throw e; ^
TypeError: Cannot read property 'split' of undefined at Object.onSuccess (office365-oauth2-authenticator\index.js:262:38) at Object.options.callback (office365-oauth2-authenticator\index.js:105:29) at Crawler._injected (office365-oauth2-authenticator\node_modules\crawler\lib\crawler.js:596:10) at Crawler._inject (office365-oauth2-authenticator\node_modules\crawler\lib\crawler.js:202:3) at Crawler._onContent (office365-oauth2-authenticator\node_modules\crawler\lib\crawler.js:589:7) at Request._callback (office365-oauth2-authenticator\node_modules\crawler\lib\crawler.js:433:10) at Request.self.callback (office365-oauth2-authenticator\node_modules\request\request.js:185:22) at Request.emit (events.js:315:20) at Request.<anonymous> (office365-oauth2-authenticator\node_modules\request\request.js:1154:10) at Request.emit (events.js:315:20)
Est-ce que vous avez une idée comment résoudre ce problème? Je vous remercie
Bonjour,
Il faudrait s'assurer que
MS_OFFICE365_SITE
a bien une forme équivalente àhttps://foo.sharepoint.com/
.Cependant, il semble que sur certains espaces Sharepoint, l'authentification ne se déroule pas tout à fait pareil. Malheureusement, n'ayant jamais eu d'accès, je n'ai jamais pu déboguer le problème…
Si toutefois l'erreur de vient pas de
MS_OFFICE365_SITE
, alors on pourrait essayer de trouver une solution en privé mais on devra me partager des identifiants.