2

I am building a webapp with Django which allows our users to create a meeting in their office365 calendar while also storing the meeting in a database so we can display some information about it on a screen in the office.

I am using exchangelib to create the meetings and it works really well. I want to make it so our users do not have to enter their passwords for their o365 account every time they use it, but I would prefer not storing the passwords locally either since they change regularly.
Our users are always logged in to sharepoint or owa when they use this app is it possible to get their credentials from there? Or is it possible to link it to our local AD?

SJ_WTF
  • 52
  • 7
  • Check how owa or sharepoint store their credentials (JWT, etc) and just pass them around, I would NOT STORE THEM. – E.Serra Dec 12 '18 at 09:10
  • @E.Serra Hi, I'm not too familiar with how credentials work, but it appears sharepoint uses JWT. How would I pass these to django/exchangelib though, the only thing I can find in the exchangelib documentation about credentials is just providing it a username and password. – SJ_WTF Dec 12 '18 at 09:41
  • [exchangelib author here] exchangelib assumes username/password login. There's no Windows SSO support since I don't have access to a Windows system and have no idea how SSO works there. We do have support for Kerberos if that is a possibility in your case. Kerberos supports ticket delegation which would allow your Django backend to use the ticket passed through the browser to also log into EWS. – Erik Cederstrand Dec 17 '18 at 08:46
  • Does your Django app use SSO login, or do users login with username and password? If they enter username and password, you could keep a symmetrically encrypted server-side cache of the username and password to use for login to O365. – Erik Cederstrand Dec 19 '18 at 12:45

0 Answers0