IMAP 身份验证与登录

IMAP authenticate vs login

根据 RFC 3501,IMAP 服务器可能支持这些(和其他)命令:

问题

  1. 是否有理由在另一个之上使用一个?
  2. 使用 TLS 时是否有理由支持其他 AUTHENTICATION 机制?

几乎所有的服务器都支持LOGIN,这是进行身份验证的基本基线版本。

A​​UTHENTICATE 是一个可扩展的通用命令,它可以支持任何 SASL* 身份验证机制或自定义方法。

我会尽可能使用登录,因为它是一个更简单的命令(没有 base64 或继续响应)。

使用 AUTHENTICATE 的原因:支持 SSO 或 OAUTH 场景,它们有不同的要求,而只是用户名或密码。

例如,要与 GMail 很好地集成,OAUTH2 是首选机制,它具有自定义的 AUTHENTICATE 方法。

*SASL 是简单身份验证和安全层,它是身份验证的元协议,目前在 RFC 4422 中有描述。