AzureAD / azure-activedirectory-library-for-js

The code for ADAL.js and ADAL Angular has been moved to the MSAL.js repo. Please open any issues or PRs at the link below.
https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/maintenance/adal-angular
Apache License 2.0
627 stars 374 forks source link

Support for Brave (or any extension blocking third party cookies) #853

Closed eirikb closed 4 years ago

eirikb commented 5 years ago

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report 
[ ] Performance issue
[x] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Browser:

Library Name

Library version

Library version: 1.0.17

Current behavior

Login falls back to popup

Expected behavior

No popup required

Minimal reproduction of the problem with instructions

Open any adal-based app in Brave and see if login works correctly.
I'm having a lot of issues at least, and I think it might have to do with third party cookies being blocked. When using implicit flow the hidden iframe won't actually send any cookies, and it is not authorized.
This is solvable with popup, but there are three problems with the popup:

This probably also includes any third party cookie blockers such as Privacy Badger.

Previously I've had a lot of issues with sporadic X-Frame-Origin: deny, both in nested iframes (Office Add-Ons, DevOps extensions), and implicit flow (which uses hidden iframe), but lately that haven't been a problem - either login.microsoftonline.com have removed the header, or promp=none + login_hint + domain_hint does the trick.

I might be using the library very wrongly, in that case here is a working demo, (source code). It uses graph as an example, but I mostly connect directly to other APIs, such as SharePoint and DevOps.

jmckennon commented 4 years ago

Unfortunately, we have no plans for adal js to support Brave at this time. While there is not official support for Brave in adal js, msal js supports it, as we support Chromium-based browsers.

All current authentication work from Microsoft is delivered through the msal js library here. adal js is still supported only for security fixes. We recommend moving to msal js for any advanced feature requests and bugfixes.