如何使用骆驼邮件的 OAuth 2 身份验证

问题描述 投票:0回答:3

我正在使用骆驼邮件插件来阅读使用 IMAP 的电子邮件,它运行良好。

但是越来越多的电子邮件提供商弃用/禁用基本身份验证,以将其替换为基于 OAuth 2.0 令牌的授权。

例子:

来自 Microsoft Exchange:Exchange Online 中基本身份验证的弃用

我们将取消在 Exchange Online 中为 Exchange ActiveSync (EAS)、POP、IMAP 等使用基本身份验证的功能

有没有办法将 OAuth 2 与骆驼邮件一起使用?还有其他解决方案吗?

谢谢你的帮助

apache-camel apache-camel-mail
3个回答
1
投票

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

<from uri="imaps://[email protected]&authenticator=#yourCustomAuthenticator>

您还需要执行以下步骤:

  • 在“来自”端点上使用以下属性禁用普通身份验证: mail.imap.auth.plain.disable=true

  • 使用以下属性启用 oauth:

    mail.imap.auth.xoauth2.disable=false

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

[编辑] 我写了一篇带有示例的博客文章。你可以在这里找到它: https://how2all.com/how-to-authenticate-with-microsoft-outlook-using-oauth2-and-apache-camel/


0
投票

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


0
投票

我认为你必须使用骆驼邮件组件的 authenticator 参数并实现你自己的 OAuth2 MailAuthenticator。看起来有点笨拙,为此需要一个实现。

© www.soinside.com 2019 - 2024. All rights reserved.