Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Question]: Oauth2 Support for IMAP #20

Open
Firat-Gulec opened this issue Nov 21, 2023 · 1 comment
Open

[Question]: Oauth2 Support for IMAP #20

Firat-Gulec opened this issue Nov 21, 2023 · 1 comment
Labels
help wanted Extra attention is needed question Further information is requested

Comments

@Firat-Gulec
Copy link

Hi I tried to use m365 modern Auth but it didn't connect I use this command -i and -d flag and I created azure app registration for imap. also I used auth2 uri and client ID and my debug info is below

Can you help me? I think it will help with all questions.

--- DEBUG ---
  Open Report Parser
  Version 0 Alpha 5
-------------
Open Report Parser DEBUG ENABLED
-- Script Options --

Report Source:   0
(0: IMAP, 1: Message, 2: XML, 3: MBOX, 4: ZIP, 5: JSON)
Show Processed:   0
Delete Reports:   0
Delete Failed:    0
Replace Reports:  0
DMARC Only:       1
(0: DMARC\TLS, 1: DMARC Only, -1: TLS Only)

-- Database Options --

DB Type:          mysql
DB Name:          dmarc
DB User:          dmarc
DB Host/Port:     localhost:3306
DB TX Support:    1

Max XML Size:     500000
Max JSON Size:    500000
Compress XML:     0
Compress JSON:    0

-- IMAP Options --

IMAP Server:      ps.outlook.com
IMAP Port:        143
TLS:              1
SSL:              0
TLS Verify:       1
IMAP User:        dmarc@xxxxxxxx.xx
IMAP Ignore Err:  0
IMAP Auth:        oauth2
Oauth2 URI:       xxxxxxxxxxxxxxxxxxxxx
OAuth2 Client ID: xxxxxxxxxxxxxxxxxxxxx
DMARC Folders:
   Reports:       Inbox
   Processed:     Inbox.Processed
TLS Folders:
   Reports:       tls
   Processed:     tls.Processed
----



--- DEBUG ---
  use tls with verify servercert.
-------------


--- DEBUG ---
  connection to ps.outlook.com with Ssl => 0, User => dmarc@xxxxxxx.xx, Ignoresizeerrors => 0
-------------
Started at Tue Nov 21 15:59:21 2023
Using Mail::IMAPClient version 3.42 on perl 5.032001
Connecting with IO::Socket::IP PeerAddr ps.outlook.com PeerPort 143 Proto tcp Timeout 600 Debug 1 SSL_verify_mode 1
Connected to ps.outlook.com
Read:   * OK The Microsoft Exchange IMAP4 service is ready. [xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==]
Sending: 1 STARTTLS
Sent 12 bytes
Read:   1 OK Begin TLS negotiation now.


--- DEBUG ---
  using oauth2
-------------
no token found, requesting
malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at lib/OAuth.pm line 172.

Originally posted by @Firat-Gulec in #9 (comment)

@bscharff
Copy link

For $oauthuri, it should be similar to https://login.microsoftonline.com/{TENANT ID}/oauth2/v2.0/
You can get this from the Endpoints button in Azure App Registrations, except they give you the URL with /token or /authorize at the end - remove that and it should work.

One other thing, in /lib/OAuth.pm, I had to update line 158 to:
$scope .= "%20offline_access%20https%3A%2F%2Foutlook.office.com%2FIMAP.AccessAsUser.All";

@userjack6880 userjack6880 added help wanted Extra attention is needed question Further information is requested labels Feb 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants