使用 Go (Golang) 构建安全的电子商务应用程序 | Building Web Applications with Go – Intermediate Level

Building Web Applications with Go – Intermediate Level

了解如何使用 Go (Golang) 构建安全的电子商务应用程序。

你将会学到的

  • 如何使用 Go 构建前端网站
  • 如何使用 Go 构建后端 API
  • 如何从单个代码库构建多个应用程序
  • 如何在 Go 中构建微服务
  • Go 中的用户身份验证
  • 使用有状态令牌的 API 身份验证
  • 如何让用户以安全可靠的方式重置密码
  • 如何将 Stripe 信用卡处理与 Go 后端集成
  • 使用 Stripe 进行一次性或定期付款
  • 进行安全信用卡交易的最佳实践

要求

  • 对 Go 编程语言的基本了解
  • 对 HTML、CSS 和 JavaScript 有基本的了解
  • 基本了解 SQL 语法

说明

本课程是在 Go 中构建现代 Web 应用程序的后续课程。在本课程中,我们比第一次走得更远。我们将构建一个示例电子商务应用程序,该应用程序由多个独立的应用程序组成:前端(将内容作为网页提供给最终用户);后端 API (根据需要由前端调用),以及执行一项任务但执行得非常出色的微服务(动态构建 PDF 发票并将其作为电子邮件附件发送给客户)。

该应用程序将出售单个商品,并允许用户购买每月订阅。所有信用卡交易都将通过Stripe处理,这可以说是当今最流行的支付处理系统之一,并且有充分的理由:开发人员喜欢它。Stripe 提供了丰富的 API(应用程序编程接口),可在全球超过 35 个国家/地区使用,并支持超过 135 种货币。从字面上看,数以百万计的组织和企业使用 Stripe 的软件和 API 来接受付款、发送付款并通过 Stripe 仪表板在线管理他们的业务。但是,在许多情况下,开发人员希望能够构建更加定制化的解决方案,并且不需要最终用户同时登录 Web 应用程序和 Stripe 仪表板。这正是我们将在本课程中介绍的内容。

我们将从一个简单的虚拟终端开始,它可用于处理所谓的“无卡”交易。这将是一个功能齐全的 Web 应用程序,从头开始构建在Go(有时称为 Golang)上。前端将使用 Go 丰富的 html/模板包呈现,经过身份验证的用户将能够通过与 Stripe API 集成的安全表单处理信用卡支付。在本课程的这一部分,我们将介绍以下内容:

  • 如何在 Go 中构建安全、生产就绪的 Web 应用程序
  • 如何获取安全在线信用卡交易的必要信息
  • 如何从 Go 后端调用 Stripe API 以创建 paymentIntent(用于授权和进行交易的 Stripe 对象)

一旦我们解决了这个问题,我们将在课程的下一部分构建第二个 Web 应用程序,它由一个简单的网站组成,允许用户购买产品或购买每月订阅。同样,这将是一个用 Go 从头开始​​构建的 Web 应用程序。在本课程的这一部分,我们将介绍以下内容:

  • 如何让用户购买单品
  • 如何允许用户购买定期每月订阅(Stripe 计划)
  • 如何处理取消和退款
  • 如何将所有交易信息保存到数据库(用于退款、报告等)。
  • 如何退款交易
  • 如何取消订阅
  • 如何保护对前端的访问(通过会话身份验证)
  • 如何保护对后端 API 的访问(使用有状态令牌)
  • 如何管理用户(添加/编辑/删除)
  • 如何让用户安全可靠地重置密码
  • 如何通过 websockets 立即注销用户并取消他们的帐户

完成后,我们将开始处理微服务。微服务是一种特殊的软件开发方法,其基本前提是构建非常小的应用程序,这些应用程序只做一件事,但做得很好。微服务根本不关心应用程序调用它的内容;它是完全独立的,并且完全不可知论。我们将构建一个执行以下操作的微服务:

  • 接受描述单个购买的 JSON 有效负载
  • 使用来自 JSON 有效负载的信息生成 PDF 发票
  • 创建给客户的电子邮件,并将 PDF 附加到其中
  • 发送电子邮件

所有这些组件(前端、后端和微服务)都将使用单个代码库构建,该代码库使用 Gnu Make 生成多个二进制文件。

此课程面向哪些人:

  • 想要将 Stripe 集成到他们的应用程序中的开发人员
  • 想要学习如何在 Go 中构建后端 API 的开发人员
  • 想要学习在 Go(和 JavaScript)中构建现代应用程序的最佳实践的开发人员
声明:本站所有资源、素材等全部来源于互联网,赞助VIP仅用于对IT资源服务器带宽等费用支出做支持,从本站下载资源,说明你已同意本条款。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
TheItzy » 使用 Go (Golang) 构建安全的电子商务应用程序 | Building Web Applications with Go – Intermediate Level