Sendgrid API密钥认证

7

我收到了来自SentGrid的邮件,

我们发邮件是为了通知您,自2020年12月9日起,将要求您使用 Twilio SendGrid 的 API 密钥进行认证,以确保服务不中断,并提高您帐户的安全性。我们的记录显示,过去180天中,您曾使用基本身份验证(用户名和密码)进行过一个或多个API请求,并且这个请求是由1个用户使用您的SendGrid帐户进行的。

为什么要使用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个回答

11

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

迁移很简单:

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

如果更改起作用,那么您已经成功从基本身份验证迁移到API密钥。


Sendgrid 应该更新他们的文档并澄清这一部分,我认为他们有点跳过了这一步。 - user9542422

1

一开始我也觉得这很困惑,所以我想写下它的工作原理,以帮助其他人。

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

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

我命名我的两个新变量:SENDGRID_API_USERNAMESENDGRID_API_KEY

  • SENDGRID_API_USERNAME 始终为 'apikey'(一个简单的字符串)
  • SENDGRID_API_KEY 可以在 这里 生成,看起来类似于 SG.ngeJheYFYQlKU0ufo8x5d1A.TwL2iGABfnBvoTf-09kqeF8tAmbihYzrnopKc-1s5cr

1

是的,可以。使用API密钥而不是用户名和密码。


1

只需将您的sengrid_api_key用作密码,将字符串'apikey'用作用户名


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接