我正在开发一个可以代表用户发送邮件的应用程序。为此,用户登录他的电子邮件帐户(类似于您从邮件客户端了解到的),并且应用程序存储刷新令牌。当用户现在使用此应用程序发送电子邮件时,刷新令牌用于获取访问令牌并用于发送邮件。
该应用程序现在应该能够在云端运行,但我面临以下问题: Microsoft 允许您在受信任的网络中跳过 MFA,但您获得的令牌也仅在在此受信任的网络中使用时才有效。在身份验证流程期间,用户是受信任的网络,但随后从云中的服务器使用令牌,因此令牌无效。
我读过有关
amr_values=ngcmfa
的内容,但这听起来像是强制所有用户使用 MFA。但是,我希望能够绕过“可信网络”规则,同时不强制每个用户激活 MFA。
我怎样才能实现这一点或者有其他解决方案吗?
如果应用程序使用客户端密钥,那么从受信任网络内无需 MFA 生成的令牌似乎可以由该网络外部的应用程序使用。 所以这个问题可以通过在请求令牌时简单地使用客户端密钥来解决。