Answered by:
Which authentication flow to use for desktop application

Question
-
Hi Team,
We have an application which is an archiving system and the source for this is Exchange Online. We connect to Exchange server to communicate and access mails which needs to be archived in our system. Currently we are using basic authentication to authenticate the users in our application. Since basic authentication is going out of support, we are working on migration from basic authentication to OAuth. Considering this we now see that there are several authentication flows provided by MSAL out of which the shortlisted approach is
1) Authorization code flow
2) Client credentials flowIn order to confirm on these we wanted some clarity on these approaches:
1) Pros and cons of Authorization code flow v/s Client Credentials flow
2) Additionally, we have one query on permission types. If we use Authorization code flow we were dealing with delegated permissions and when we use Client credentials flow we had to use application permission.We wanted to know if there is a major difference in the permission types.
3) It's mentioned that client credentials only works with web client, currently in our desktop application, we were able to use this flow and access the web API. Can we continue using this flow? On a longer run will there be any bottleneck?Monday, May 25, 2020 1:51 PM
Answers
-
I'd try asking for help over here.
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?forum=windowssecurity
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?forum=exchangesvrdevelopment
Regards, Dave Patrick ....
Microsoft Certified Professional
Microsoft MVP [Windows Server] Datacenter Management
Disclaimer: This posting is provided "AS IS" with no warranties or guarantees, and confers no rights.- Proposed as answer by Guido FranzkeModerator Tuesday, May 26, 2020 5:46 AM
- Marked as answer by Dave PatrickMVP, Moderator Wednesday, June 3, 2020 2:20 AM
Monday, May 25, 2020 2:14 PMModerator -
Hello,
it looks like your question has been moved back to here, although Dave gave you good forums where to ask. Maybe other forums can help you too.
For MSAL, you can ask here: https://stackoverflow.com/questions/tagged/msal
As far as I found out, OAuth belongs to Active Directy, so you could ask here: https://social.technet.microsoft.com/Forums/en-US/home?forum=winserverDS
For Exchange Online, you could ask here: https://social.technet.microsoft.com/Forums/exchange/en-US/home?forum=onlineservicesexchange
Regards, Guido
- Marked as answer by Dave PatrickMVP, Moderator Wednesday, June 3, 2020 2:20 AM
Wednesday, May 27, 2020 6:47 AMModerator
All replies
-
I'd try asking for help over here.
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?forum=windowssecurity
https://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/home?forum=exchangesvrdevelopment
Regards, Dave Patrick ....
Microsoft Certified Professional
Microsoft MVP [Windows Server] Datacenter Management
Disclaimer: This posting is provided "AS IS" with no warranties or guarantees, and confers no rights.- Proposed as answer by Guido FranzkeModerator Tuesday, May 26, 2020 5:46 AM
- Marked as answer by Dave PatrickMVP, Moderator Wednesday, June 3, 2020 2:20 AM
Monday, May 25, 2020 2:14 PMModerator -
Hi Team,
We have an application which is an archiving system and the source for this is Exchange Online. We connect to Exchange server to communicate and access mails which needs to be archived in our system. Currently we are using basic authentication to authenticate the users in our application. Since basic authentication is going out of support, we are working on migration from basic authentication to OAuth. Considering this we now see that there are several authentication flows provided by MSAL out of which the shortlisted approach is
1) Authorization code flow
2) Client credentials flowIn order to confirm on these we wanted some clarity on these approaches:
1) Pros and cons of Authorization code flow v/s Client Credentials flow2) Additionally, we have one query on permission types. If we use Authorization code flow we were dealing with delegated permissions and when we use Client credentials flow we had to use application permission.We wanted to know if there is a major difference in the permission types.
3) It's mentioned that client credentials only works with web client, currently in our desktop application, we were able to use this flow and access the web API. Can we continue using this flow? On a longer run will there be any bottleneck?
- Moved by Drake_WuMicrosoft contingent staff Wednesday, May 27, 2020 1:36 AM
- Merged by Guido FranzkeModerator Wednesday, May 27, 2020 6:39 AM duplicate question moved back to here
Tuesday, May 26, 2020 9:13 AM -
Hello,
it looks like your question has been moved back to here, although Dave gave you good forums where to ask. Maybe other forums can help you too.
For MSAL, you can ask here: https://stackoverflow.com/questions/tagged/msal
As far as I found out, OAuth belongs to Active Directy, so you could ask here: https://social.technet.microsoft.com/Forums/en-US/home?forum=winserverDS
For Exchange Online, you could ask here: https://social.technet.microsoft.com/Forums/exchange/en-US/home?forum=onlineservicesexchange
Regards, Guido
- Marked as answer by Dave PatrickMVP, Moderator Wednesday, June 3, 2020 2:20 AM
Wednesday, May 27, 2020 6:47 AMModerator