我要求用户将用户名和密码提供给一个应用程序,并且该应用程序将使用这些用户凭据调用Web服务。
Web 服务将根据 Azure Active Directory 对用户进行身份验证,并下载 ID 令牌并将其返回到调用应用程序。
注意:调用应用程序只需传递用户提供的凭据并从服务中获取身份验证信息。
您尝试执行的操作是使用资源所有者密码凭据流 (ROPC(。 我有一整篇关于为什么我建议你不要使用它的文章:https://joonasw.net/view/ropc-grant-flow-in-azure-ad。
如果用户启用了多重身份验证,则它不起作用。 如果他们的密码已过期,它将不起作用(并且他们无法修复它(。
我建议您不要使用此流。 使用更安全的交互式流,例如授权代码流:桌面应用调用 API/Web 应用调用 API。
使用身份提供程序时,处理用户密码通常是一个非常糟糕的主意。