This is an automated email from the ASF dual-hosted git repository.

quantranhong1999 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit b12354b658440372d675bcf97d22db4992f4036c
Author: Felix Auringer <[email protected]>
AuthorDate: Fri May 15 11:20:09 2026 +0200

    JAMES-4205 Create default mailboxes after OIDC login
    
    Currently, mailboxes (even INBOX) are only created when logging
    in using PLAIN or LOGIN.
---
 .../james/imap/processor/AbstractAuthProcessor.java       | 15 +++++++++++----
 .../james/imap/processor/AuthenticateProcessor.java       |  2 +-
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
index 34cc3eb3be..abbeadb195 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AbstractAuthProcessor.java
@@ -253,10 +253,17 @@ public abstract class AbstractAuthProcessor<R extends 
ImapRequest> extends Abstr
         return new AuthenticationAttempt(Optional.empty(), authenticationId, 
password);
     }
 
-    protected void authSuccess(Username username, ImapSession session, 
ImapRequest request, Responder responder) {
-        session.authenticated();
-        
session.setMailboxSession(getMailboxManager().createSystemSession(username));
-        okComplete(request, responder);
+    protected void oauthSuccess(Username username, ImapSession session, 
ImapRequest request, Responder responder) {
+        try {
+            session.authenticated();
+            final MailboxSession mailboxSession = 
getMailboxManager().createSystemSession(username);
+            session.setMailboxSession(mailboxSession);
+            provisionInbox(session, getMailboxManager(), mailboxSession);
+            okComplete(request, responder);
+        } catch (MailboxException e) {
+            LOGGER.error("Error encountered while login", e);
+            no(request, responder, 
HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
+        }
     }
 
     protected static class AuthenticationAttempt {
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
index cd22c4ca68..981f07f160 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/processor/AuthenticateProcessor.java
@@ -220,7 +220,7 @@ public class AuthenticateProcessor extends 
AbstractAuthProcessor<AuthenticateReq
                             .as(associatedUser),
                         session, request, responder, authenticatedUser, 
associatedUser);
                 } else {
-                    authSuccess(authenticatedUser, session, request, 
responder);
+                    oauthSuccess(authenticatedUser, session, request, 
responder);
                 }
             }, () -> manageFailureCount(session, request, responder));
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to