oauth-2.0 Outlook Office 365 -如何获得访问令牌(通过API)使用用户名和应用程序密码时,MFA已启用?

nszi6y05  于 2022-10-31  发布在  其他
关注(0)|答案(1)|浏览(364)

大家都知道,MS Office 365最近从基本身份验证改为现代身份验证,因此它会阻止来自IMAP/POP/SMTP等协议的所有访问。在这种情况下,我们必须使用MS API通过传递客户端/密码、用户名、密码和范围生成的访问令牌(OAUTH 2.0)。
目前,我可以为不使用MFA的用户获取访问令牌(可以通过IMAP协议访问用户邮箱),但对于使用MFA的用户,我们有他们的应用密码。对于MFA用户,我传递他们的应用密码(在密码字段中)以获取访问令牌,但我收到以下错误

"error": "invalid_grant",
"error_description": "AADSTS50126: Error validating credentials due to invalid username or password.",
"error_codes": [
    50126
],

我用于此请求的授权类型是“密码”。有任何解决此问题的建议吗?我是否在Azure广告应用程序端委派任何API权限?我当前已启用IMAP accessforALL供我使用。
请帮忙...先谢谢了

iq0todco

iq0todco1#

您不能-访问和刷新令牌是通过基于浏览器的登录(需要用户交互)检索的。
如果您需要避免这种情况,您将需要在Azure中注册您的应用程序和应用程序机密,以便在没有提示的情况下进行身份验证。

相关问题