Skip to content
  • Daniel Vrátil's avatar
    IMAP: add support for native GMail OAuth authentication · ca4b3f09
    Daniel Vrátil authored
    This change adds support for XOAUTH2 authentication method used by
    Gmail to the IMAP resource. The XOAUTH2 support is implemented in
    a custom SASL plugin. The token request/refresh is done via KGAPI.
    
    When user sets imap.gmail.com as IMAP server in the resource config
    dialog, the dialog automatically sets all the configuration to match
    the one of Gmail and selects XOAUTH2 as authentication method. The
    access and refresh tokens are stored in KWallet like a regular
    password, but a special PasswordRequesterInterface implementation is
    used to handle the tokens and pass the right data to KIMAP::LoginJob.
    
    With this change it's no longer necessary to have the "Allow less
    secure apps" option enabled in Google Account settings and it's no
    longer necessary to use app-specific password for accounts with
    two-step verification (2FA) enabled. The actual password is no longer
    stored in KWallet and has only be typed into Google Auth form once.
    
    FEATURE: 354508
    FIXED-IN: 5.5.0
    CHANGELOG: Implement native Gmail authentication into IMAP resource
    ca4b3f09