[ 
https://issues.apache.org/jira/browse/CAMEL-18623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17623094#comment-17623094
 ] 

Jeff commented on CAMEL-18623:
------------------------------

I am using the client_credentials grant flow. 

Here is a yaml snippet with the settings for fetching the token:

client-id: ${CLIENT_ID}
client-secret: ${CLIENT_SECRET}
token-uri: login.microsoftonline.com/${TENANT_ID}/oauth2/v2.0/token
scope: [https://outlook.office365.com/.default]

My DevOps engineer registered the app in Exchange, and this was the part that 
got us hung up, but ultimately we followed this guide and set up the app with 
the IMAP.AccessAsApp permission: 
https://learn.microsoft.com/en-us/exchange/client-developer/legacy-protocols/how-to-authenticate-an-imap-pop-smtp-application-by-using-oauth

> Camel Mail Component does not work with OAuth2
> ----------------------------------------------
>
>                 Key: CAMEL-18623
>                 URL: https://issues.apache.org/jira/browse/CAMEL-18623
>             Project: Camel
>          Issue Type: New Feature
>          Components: camel-mail
>    Affects Versions: 3.18.2
>            Reporter: Jeff
>            Priority: Minor
>             Fix For: 3.x
>
>
> Camel mail component does not appear to work with OAuth2. This seems clear 
> from the lack of documentation or unit tests regarding OAuth2, but having 
> spent a few hours trying different approaches it seems like the reason it 
> doesn't work is that it isn't supported. So maybe this is a new feature 
> request if the mail component is indeed not intended to work with OAuth2. If 
> it is intended to work with OAuth2, and there is some evidence of this, 
> please be so kind as to direct me to it. I would be happy to update the docs 
> if this is the case.
> Here is the component for reference:
>  
> {code:java}
> from('imaps://{{app.email.exchange.host}}?' +
> 'mail.imap.auth.mechanisms=XOAUTH2&' +
> 'mail.imap.starttls.enable=true&' +
> 'mail.imap.auth.plain.disable=true&' +
> 'mail.imap.auth.ntlm.disable=true&' +
> 'mail.imap.auth.gssapi.disable=true&' +
> 'mail.imap.auth.xoauth2.disable=false&' +
> 'authenticator=#exchangeAuthenticator&' +
> 'debugMode=true&' +
> 'bridgeErrorHandler=true&' +
> 'delete=true'){code}
>  
>  
> And the debug output:
> DEBUG: setDebug: Jakarta Mail version 1.6.7
> DEBUG: getProvider() returning 
> javax.mail.Provider[STORE,imaps,com.sun.mail.imap.IMAPSSLStore,Oracle]
> DEBUG IMAPS: mail.imap.fetchsize: 16384
> DEBUG IMAPS: mail.imap.ignorebodystructuresize: false
> DEBUG IMAPS: mail.imap.statuscachetimeout: 1000
> DEBUG IMAPS: mail.imap.appendbuffersize: -1
> DEBUG IMAPS: mail.imap.minidletime: 10
> DEBUG IMAPS: closeFoldersOnStoreFailure
> DEBUG IMAPS: trying to connect to host "outlook.office365.com", port 993, 
> isSSL true
> OK The Microsoft Exchange IMAP4 service is ready. ...
> A0 CAPABILITY
> CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS MOVE ID 
> UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
> A0 OK CAPABILITY completed.
> B0 OK CAPABILITY completed.
> DEBUG IMAPS: AUTH: PLAIN
> DEBUG IMAPS: AUTH: XOAUTH2
> DEBUG IMAPS: protocolConnect login, host=outlook.office365.com, 
> user=u...@email.com, password=<non-null>
> DEBUG IMAPS: AUTHENTICATE XOAUTH2 command trace suppressed
> DEBUG IMAPS: AUTHENTICATE XOAUTH2 command result: B1 NO AUTHENTICATE failed.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to