Skip to content

Support strong authentication #3146

Open

Description

@temuccio

Feature Request

Include support strong authentication alternative to PLAIN and LOGIN such us:

Summary

In my case I have try to connect mail with my server that support CRAM-MD5 and DIGEST-MD5 without positive response.
It is interesting to include this support such as most important clients of mail for extend the usage.
I'm happy to collaborate to implement this Feature.
Have nice day.

References

Activity

  1. ChristophWurst commented on May 27, 2020

    @ChristophWurst
    Member

    Adding this to the end of our roadmap

  2. ChristophWurst commented on May 27, 2020

    @ChristophWurst
    Member

    I'm happy to collaborate to implement this Feature.

    Sounds good :) I assume the Horde libs can already handle this. So we should only need a new structure for the authentication method (new attribute inthe accounts table?) and a switch in the user interface.

  3. temuccio commented on Jun 23, 2020

    @temuccio
    Author

    Hi @ChristophWurst, sorry for my delay.
    I have check Horde libs and it support this authentication.
    For your interested, I have check that in:
    vendor/pear-pear.horde.org/Horde_imap_Client/Horde/Imap/Client/Socket/Pop3.php
    and
    vendor/pear-pear.horde.org/Horde_Smtp/Horde/Smtp.php
    is implemented the strong authentication.
    As you annunced, it is necessary to add a "select" for decide what is the method of authetication.
    How you pass the parameter to Hord?

  4. ChristophWurst commented on Jun 24, 2020

    @ChristophWurst
    Member

    new attribute inthe accounts table

    basically that. and then just read it through a getter on the account class in the IMAP client factory.

  5. kesselb commented on Jan 19, 2021

    @kesselb
    Contributor

    Hello 👋, looked into this issue today.

    CRAM-MD5 / DIGEST-MD5: Is already supported. If the connection to the imap server is unencrypted and CRAM-MD5 or DIGEST-MD5 are supported.

    XOAUTH2: Would be nice for Gmail users. Code to use XOAUTH2 for authentication to IMAP and SMTP is there but the process to obtain an access token via OAUTH needs to be done. I guess that's somehow similar to https://github.com/nextcloud/integration_google. Additional information: https://developers.google.com/gmail/imap/xoauth2-protocol / https://developers.google.com/identity/protocols/oauth2.

    OAUTHEBEARER: Similar to XOAUTH2 but not supported yet by Horde.

    SCRAM-SHA-1: #4377

    GSSAPI: Roundcube seems to support it: https://github.com/roundcube/roundcubemail/blob/65c9d08e0146692ead7107d839fa06e52ed1216e/program/lib/Roundcube/rcube_imap_generic.php#L650-L723. Some extension for PHP is required.

  6. CL-Jeremy commented on Mar 2, 2021

    @CL-Jeremy
  7. ChristophWurst commented on Mar 2, 2021

    @ChristophWurst
  8. CL-Jeremy commented on Mar 2, 2021

    @CL-Jeremy
  9. ChristophWurst commented on Jul 1, 2022

    @ChristophWurst
    Member

    XOAUTH2: Would be nice for Gmail users. Code to use XOAUTH2 for authentication to IMAP and SMTP is there but the process to obtain an access token via OAUTH needs to be done. I guess that's somehow similar to https://github.com/nextcloud/integration_google. Additional information: https://developers.google.com/gmail/imap/xoauth2-protocol / https://developers.google.com/identity/protocols/oauth2.

    #6819

  10. Neustradamus commented on Aug 3, 2022

    @Neustradamus

    In more SCRAM-SHA-1, I request SCRAM-SHA-1-PLUS, SCRAM-SHA-256, SCRAM-SHA-256-PLUS, SCRAM-SHA-512, SCRAM-SHA-512-PLUS, SCRAM-SHA3-512, SCRAM-SHA3-512-PLUS.

    Note: CRAM-MD5 and DIGEST-MD5 are unsecure.


    Please read all:

    20 November 2008: CRAM-MD5 to Historic:

    29 June 2017: CRAM-MD5 to Historic:

    July 2011: RFC6331: Moving DIGEST-MD5 to Historic:

    August 2021: RFC9051: Internet Message Access Protocol (IMAP) - Version 4rev2:
    "Replaced DIGEST-MD5 SASL mechanism with SCRAM-SHA-256. DIGEST-MD5 was deprecated."

    I add same about SCRAM-MD5.

    There are now:

    • July 2010: RFC5802: Salted Challenge Response Authentication Mechanism (SCRAM): SASL and GSS-API Mechanisms: https://tools.ietf.org/html/rfc5802 (SCRAM-SHA-1 and SCRAM-SHA-1-PLUS)
    • July 2010: RFC5803: Lightweight Directory Access Protocol (LDAP) Schema for Storing Salted: Challenge Response Authentication Mechanism (SCRAM) Secrets: https://tools.ietf.org/html/rfc5803
    • November 2015: RFC7677: SCRAM-SHA-256 and SCRAM-SHA-256-PLUS: Simple Authentication and Security Layer (SASL) Mechanisms: https://tools.ietf.org/html/rfc7677

    Soon:

  11. ChristophWurst commented on Sep 2, 2022

    @ChristophWurst
    Member

    Thanks a lot for the links @Neustradamus. I've updated the list at #3146 (comment) to reflect the current state.

  12. dm-msk commented on Feb 16, 2024

    @dm-msk

    Hello. I need GSSAPI support. When are you planning to add this feature?

  13. ChristophWurst commented on Feb 16, 2024

    @ChristophWurst
    Member

    Hello. I need GSSAPI support. When are you planning to add this feature?

    There are no plans right now. https://nextcloud.com/contribute/ or https://nextcloud.com/enterprise/ could be two options to get this feature earlier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions