Sendgrid使用API​​密钥进行身份验证

时间:2020-10-21 12:59:54

标签: python sendgrid

我从SentGrid收到以下邮件,

我们将通过电子邮件通知您,即将到来的要求是在2020年12月9日之前仅将Twilio SendGrid的身份验证方法更新为API密钥,以确保服务不中断并提高帐户安全性。我们的记录显示,在过去180天内,您对一个SendGrid帐户的1个用户的一个或多个API请求使用了带有用户名和密码的基本身份验证。

为什么要使用API​​密钥?

这是我们为所有用户增强安全性的一项努力。与使用API​​密钥相比,使用帐户用户名和密码进行身份验证的安全性较低。与您的用户名和密码不同,API密钥是唯一生成的,可以设置为限制访问并指定给定请求的权限。

需要采取什么措施?

请遵循以下步骤来识别身份验证方法并将其替换为API密钥,然后实施两因素身份验证(2FA)以增强安全性。 如果不采取任何措施会怎样? 在2020年12月9日,我们将不再接受使用用户名和密码的基本身份验证,并且我们将要求2FA登录到您的帐户。如果您在该日期之后尝试使用用户名和密码来验证用户名的API请求或SMTP配置,则您的请求将被拒绝。 在此先感谢您对这些要求的及时关注。如果您想了解更多有关如何增强帐户安全性的信息,请查看这篇文章。如果您有任何疑问或需要帮助,请访问我们的文档或与我们的支持团队联系。 谢谢, Twilio SendGrid团队

目前我正在使用以下凭据将邮件发送到sendgrid,

EMAIL_HOST = 'smtp.sendgrid.net'
EMAIL_USE_TLS = False
EMAIL_PORT = 587
EMAIL_HOST_USER = 'xx@gmail.com'
EMAIL_HOST_PASSWORD = 'xxx'''

Is this change affect me?

4 个答案:

答案 0 :(得分:3)

是的,一旦他们强制执行两因素身份验证(2FA),您的应用程序将无法仅使用用户名/电子邮件和密码来进行基本身份验证。
因此,您需要开始使用API​​密钥。

迁移很简单:

  • 登录到sendgrid帐户
  • 转到https://app.sendgrid.com/settings/api_keys
  • “生成API密钥”-生成新的API密钥并复制粘贴以供以后使用
  • 代码更改:
    • EMAIL_HOST_USER ='apikey'(用户名应仅此)
    • EMAIL_HOST_PASSWORD ='YOUR_API_KEY'
  • 测试

如果所做的更改有效,那么您就可以从基本身份验证迁移到API密钥了。

答案 1 :(得分:1)

是的。使用API​​密钥而不是使用用户名和密码。

答案 2 :(得分:1)

一开始我觉得这很令人困惑,所以我想我会写下它是如何工作的,以防它帮助其他人。

当使用简单的用户名/密码时,您的应用程序可能会将它们作为环境变量存储在代码中的某处。 Here 是 rails 如何使用这些环境变量的示例,但每个应用程序都会有所不同 - 找到它们。

您可以覆盖这两个现有环境变量的值,但我更喜欢创建两个新环境变量,并在整个应用程序中用新环境变量替换现有环境变量的所有引用。

我为我的两个新命名:SENDGRID_API_USERNAMESENDGRID_API_KEY

  • SENDGRID_API_USERNAME 将始终是 'apikey'(一个简单的字符串)
  • SENDGRID_API_KEY 可以做成 here,看起来像这样 SG.ngeJheYFYQlKU0ufo8x5d1A.TwL2iGABfnBvoTf-09kqeF8tAmbihYzrnopKc-1s5cr

答案 3 :(得分:0)

只需使用您的 sengrid_api_key 作为密码并使用文字字符串 'apikey' 作为用户名