问题描述
我已经设置了我的 React 应用程序以从 URL 中获取格式数据
http://localhost:3000/confirm-email/email@example.com?code=469907
文档仅展示了如何仅使用代码执行此操作,但它不允许用户在无需重新输入电子邮件地址的情况下从其他设备(如手机)进行验证。
这不是最大的问题,因为我可以检查电子邮件参数是否存在于 URL 中,如果没有来自本地存储的输入字段,则添加一个输入字段,但用户将再次无法从单独的设备进行验证。
解决方法
我看了之后才明白
https://www.twilio.com/code-exchange/one-click-email-verification-magic-links
文档。虽然这个解决方案只是在 javascript 中,而我的后端是 python/Django rest 框架。
您唯一需要做的就是在 client_configuration 中以 JSON 格式设置替换
def verifications(user_destination,via):
return client.verify \
.services(settings.TWILIO_VERIFICATION_SID) \
.verifications \
.create(
to=user_destination,channel=via,channel_configuration={
'substitutions': {
'email': user_destination
}
}
)
您可以通过这种方式对 sendgrid 模板进行任何替换。
这是flask中的代码示例 https://github.com/digitaluniverse/digitaluniverse-magic_link_elasticBeanstalk