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]
