繁体   English   中英

连接到 Exchange Online SMTP 时,是否可以将 JavaMailSender 中的 OAuth2 访问令牌作为密码传递?

[英]Can I pass the OAuth2 access token in JavaMailSender as the password when connecting to Exchange Online SMTP?

我想开发一个使用 Exchange Online 和 OAuth2 发送电子邮件的 Spring 引导应用程序。 我可以简单地将我从 Azure AD(使用 MSAL)检索到的访问令牌设置为 JavaMailSenderImpl 的密码(setPassword(String pw) with pw == access token)吗? 我问是因为 JavaMail 页面( https://javaee.github.io/javamail/OAuth2 - JavaMailSender 建立在 JavaMail 之上,不是吗?)链接一个特殊的但现在重定向 Microsoft 页面以获取有关如何连接到的信息Outlook 使用 OAuth2,所以我想,我可能还必须以某种特殊方式为 Exchange Online 执行此操作,而 JavaMailSender 文档仅声明 setPassword(String pw) 当然设置密码,但没有关于令牌的说明。 我想,我曾经看到一个例子,它只是设置密码,但它是关于不同的提供者......

我还看到 Exchange Online 不支持客户端凭据流,但另一个流检索到的访问令牌应该可以工作,不是吗? (通过用户名和密码而不是客户端 ID 和密码获取令牌 - 请参阅我关于 ServerFault 的问题: https://serverfault.com/questions/1111532/how-can-i-authenticate-at-exchange-online-smtp-using -oauth2 )

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM