1. 机密客户端 - Web应用程序 - 授权码授予流程。 2. 公共客户端 - 桌面应用程序、移动应用程序、SPA(单页应用程序)- 隐式流程。
然而,根据Microsoft文档,AD B2C的处方如下https://learn.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-reference-oauth-code:
1. 机密客户端 - Web应用程序 - OpenIDConnect登录(基于授权码授予构建)。 2. 公共客户端 - 桌面应用程序、移动应用程序 - 授权码授予流程。 3. 公共客户端 - SPA(单页应用程序)- 隐式流程。
基于以上推论,我们清楚Web应用程序和SPA,没有困惑。
然而,对于桌面和移动应用程序,为什么Microsoft建议使用Auth code授权流而不是implicit flow [尽管它们也是根据Microsoft文档的公共客户端]?