如何将OAuth 2身份验证与camel-mail一起使用

yzckvree  于 2022-11-07  发布在  Apache
关注(0)|答案(3)|浏览(141)

我正在使用 Camel 邮件插件阅读电子邮件使用IMAP和它的工作完美。
但越来越多的电子邮件提供商正在弃用/禁用基本身份验证,以OAuth 2.0基于令牌的授权取代它。
示例:
从Microsoft Exchange:Deprecation of Basic authentication in Exchange Online
我们将删除在Exchange Online中对Exchange ActiveSync(EAS)、POP、IMAP等使用基本身份验证的功能。
有没有办法将OAuth 2与 Camel 邮件一起使用?有没有其他解决方案?
谢谢你的帮助

vxqlmq5t

vxqlmq5t1#

Apache camel具有自定义身份验证的身份验证器功能。有一个默认的身份验证器类,您需要扩展它并覆盖getPassword方法。GetPassword应返回访问令牌而不是普通密码。您可以将自定义身份验证器绑定到上下文,只需从端点调用

<from uri="imaps://outlook.office365.com?username=XYZ@DOMAIN.COM&authenticator=#yourCustomAuthenticator>

您还需要执行以下步骤:

  • 在“from”端点上使用以下属性禁用普通身份验证:邮件.imap.验证.普通.禁用=真
  • 使用以下属性启用oauth:

禁用=假
Camel将使用访问令牌(base64(auth=Bearer adfdfdf))自动调用imap登录。

txu3uszq

txu3uszq2#

您可以使用Camel-Box通过OAuth 2阅读电子邮件。

ctzwtxfj

ctzwtxfj3#

我认为您必须使用 Camel 邮件组件的authenticator参数,并实现您自己的OAuth2 MailAuthenticator。

相关问题