Tag: Google Cloud

如何使用AWS Lambda或Google Cloud Functions将Zendesk Mobile SDK与Firebase集成?

大家都知道,您可以使用JWT(JSON Web令牌)对Zendesk Mobile SDK的用户进行身份验证。 此外,还有很多HOWTO-s,它们显示了针对许多不同编程语言的JWT实现。 在本教程中,我将向您展示如何使用Google Cloud Functions,NodeJS和其他一些npm附加功能来为Zendesk Mobile SDK创建完全可扩展且完全免费的无服务器JWT身份验证后端。 为什么选择Google? 当然,您可以使用AWS Lambda函数来实现类似的解决方案,但是我个人认为,使用单个产品(Google Firebase)进行iOS后端操作要容易得多,然后再使用AWS的几个服务。 因此,主要原因是Firebase。 同时,Google为您的所有服务提供了出色的日志记录解决方案,因此您无需实施任何特殊的操作并重新发明轮子。 只需对您的所有服务使用单一解决方案。 第三个是API。 我个人认为,Google的API是我见过的最好的API。 只有Google为您提供大多数错误的详细说明,并为您提供指向其控制台的直接URL链接,例如,启用所需的服务。 什么是无服务器,云功能和Lambda? 可以将其视为基于容器技术的轻量级PaaS托管,但存在一些局限性,这使得该技术超级快速且可扩展。 此托管存储您的代码段,这些代码段可以独立启动以解决一个简单的问题(例如,调用Web服务的另一功能,将某些内容保存到数据库或发送电子邮件),这些代码可以在一个时间短。 每当其他云服务触发它或像传统Web服务一样通过HTTP / HTTPS协议直接调用它时,您的代码段就会在容器内启动。 为什么使用无服务器(AWS Lambda或CloudFunctions)? 我们仍然不会不花心思地使用每种解决方案所需的资源。 我们仍然使用一半负载的VM来支持较长的基础架构扩展时间或具有在Kubernetes集群中启动其他容器的能力。 在云的情况下,我们要为这些未使用的资源付费。 不了解您,但我不想这样做。 云功能的使用使我们更加节俭地使用可用资源,同时,它使我们能够比使用VM甚至容器的情况下更快地进行扩展。 因此,借助CloudFunctions,我们可以使用云的本质而无需考虑我们的Web服务可伸缩性。 当然,所有云提供商都支持无服务器技术,因此,您无需考虑诸如供应商锁定之类的事情。 您可以随时轻松切换云提供商。 无服务器后端 首先,我假设您已经拥有: Google Firebase帐户(如果您不使用Firebase,也可以使用传统的Google Cloud)并在其中创建了Project。 您已经安装了Firebase SDK for Cloud Functions,并为您的云功能创建了初始项目结构。 您已阅读有关编写HTTP云功能的信息 之后,您将可以轻松在Node.js上编写类似的代码。将以下代码添加到index.js文件中,以创建名为jwt_auth的云函数: “使用严格”; const functions = require(’firebase-functions’); const admin […]