Enable Modern Authentication for Exchange Online and Outlook

Hallo zusammen,

Ich habe mich mal mit Modern Authentication in Office 365 befasst. Modern Authentication benutzt im Hintergrund ADAL. 

Azure Active Directory Authentication Libraries

https://azure.microsoft.com/en-us/documentation/articles/active-directory-authentication-libraries/

How modern authentication works for Office 2013 and Office 2016 client apps

https://support.office.com/en-us/article/How-modern-authentication-works-for-Office-2013-and-Office-2016-client-apps-e4c45989-4b1a-462e-a81b-2a13191cf517?ui=en-US&rs=en-US&ad=US

 

Exchange Online - OFF by default

SharePoint Online - ON by default

Skype for Business Online - OFF by default

Meldet man sich bei Outlook an, so wird eine Basic Authentication verlangt, und zwar bei jedem Start von Outlook. Man kann zwar das Häcklein "Anmeldedaten speichern" aktivieren, das führt aber zu Problemen, wenn man sein Passwort ändert.

Auf meinem O365 Tenant habe ich die Modern Authentication in den Exchange Powershell Cmdlets aktiviert.

Get-OrganizationConfig | ft name, *OAuth*

Set-OrganizationConfig -OAuth2ClientProfileEnabled:$true

Ab Office 2013 wird Modern Authentication und ADAL unterstützt. Bei Outlook 2013 muss man jedoch noch zwei Registry Keys setzen.

HKCU\SOFTWARE\Microsoft\Office\15.0\Common\Identity\EnableADAL REG_DWORD 1
HKCU\SOFTWARE\Microsoft\Office\15.0\Common\Identity\Version REG_DWORD 1

Dann habe ich Outlook erneut gestartet und erstmal eine Fehlermeldung erhalten. Kaum Details, weshalb etwas schiefgelaufen ist. Es war sehr schwierig herauszufinden, weshalb denn die Anmeldung nicht geklappt hat.

Nach langem Suchen habe ich herausgefunden, dass man auf den Authentication Policies im Intranet die Forms Authentication aktivieren muss.

Danach hat dann die Anmeldung mit Modern Authentication / ADAL geklappt.

Wie man sieht bin ich nun über ein Bareer Token angemeldet.

Bei ADAL erhält man einen "AccessToken" und einen "RefreshToken".  Wer schon mit REST API's programmiert hat, dem dürfte das bekannt vorkommen.

Access tokens sind gültig für 1 Stunde

Refresh tokens sind gültig für 14 Tage

Aber wo werden die Refresh Tokens gespeichert? - Natürlich im Windows Tresor.

Grüsse
Andres Bohren