云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

阿里云_2017木乃伊百度云_企业0元试用

小七 141 0

云服务器试用_选择哪个_价格较低的云服务器

在本文中,您将学习如何使用Firebase和Firestore开发实时web应用程序。此外,您还将学习如何在Firebase应用程序中使用(以及为什么要使用)Auth0作为身份验证系统。为了熟悉这些技术和集成,您将构建一个简单的实时web聊天,它将安全地将消息存储在Firestore(Firebase提供的实时数据库)上,并允许用户通过Auth0进行身份验证。如果需要,您可以在这个GitHub存储库中找到通过本文开发的最终代码。"了解如何使用Firebase和Firestore开发实时web应用程序。"在推特上留言先决条件接下来,你应该对节点.js和JavaScript。你将使用节点.js对于服务器端和NPM作为项目的包管理器。因此,您需要在本地安装这两个软件。如果您没有安装这些工具,请检查此资源(NPM与节点.js).什么是FirebaseFirebase是一个允许您快速开发web和移动应用程序的平台。此平台提供的服务可以轻松集成到您的项目中,以提供某些功能。其中一个服务是cloudfirestore,它是由Google提供的一个灵活、可伸缩、实时的NoSQL数据库。在本文中,数据无价,您将使用Firestore为聊天应用程序设置一个实时数据库。为什么要同时使用Firebase和Auth0?需要注意的一点是Firebase确实提供了现成的身份验证功能。但是,如前所述,您将在Firebase实例中将Auth0配置为身份验证方法。考虑到这一点,云服务器哪里好,您可能想知道在Firebase中使用Auth0之类的外部身份验证提供程序有什么必要。使用Auth0保护Firebase服务并不一定意味着您将不使用Firebase身份验证。事实上,Firebase提供了一种使用自定义令牌的自定义身份验证方法,大数据分析软件,它允许您使用首选的身份提供程序来保护Firebase,而不是Firebase已经提供的内置身份验证方法。那么,为什么要对Auth0而不是Firebase的内置身份验证方法使用自定义身份验证方法呢?这个问题有多种答案:除了基本的Google、Twitter和Facebook社交服务提供商之外,您可能还需要在应用程序中集成各种社交服务提供商。Auth0可以方便地使用数百个不同的社交提供者。您可能需要深入了解用户活动。Auth0提供了强大的报告和分析,因此您可以确切地看到发生了什么。您可能需要一个健壮的用户管理系统。您可能希望使用诸如多因素身份验证、违反密码安全性或异常检测等功能为应用程序提供增强的安全性。您可能需要能够完全自定义授权和身份验证管道的任何阶段。总之,如果应用程序需要更健壮和更复杂的身份验证方法(通常是这种情况),则应该使用自定义身份验证方法。谢天谢地,Firebase提供了一种将其他身份验证解决方案集成到其服务中的方法。您将在本文中详细介绍它。"在Firebase应用程序中使用Auth0作为自定义身份验证提供程序可以使应用程序更健壮。"在推特上留言Firebase和Auth0如何协同工作?让Firebase和Auth0协同工作非常简单。整个流程从使用Auth0保护应用程序(无论您是否有本机应用程序、web应用程序、SPA等)开始。当用户通过Auth0进行身份验证时,作为身份验证过程的一部分,应用程序将取回令牌(idTokens和/或accessTokens),它可以使用这些令牌向后端api发出请求,这些api也由Auth0保护。这些api在处理请求时,获取这些令牌并验证它们,以检查它们是否真的是由可信提供者(在本例中是Auth0)发出的,以及它们是否过期。如果这些令牌是有效的,那么API可以相应地完成请求。上面的流程是当应用程序被Auth0保护时通常发生的情况。现在,要将Firebase添加到这个配方中,您需要做的是在后端API(由Auth0保护)中创建一个端点,以生成定制的Firebase令牌。然后,当您的后端完成创建这些令牌时,您的客户端应用程序将取回它们并使用它们对Firebase进行身份验证。这里的神奇之处在于,由于您的后端API和前端客户端都由Auth0保护,您的用户只有先通过Auth0进行了身份验证,才能获得自定义的Firebase令牌。如果您很想看到它的实际应用,请不要担心,您很快就会实现整个流程。设置消防基地为了使用Firebase,您需要注册一个Firebase帐户。完成后,接下来需要做的就是创建一个Firebase项目。为此,请转到Firebase控制台并单击addproject。点击它会让Firebase显示一个窗体,在那里你必须为你的项目定义一个名称(你可以选择类似"firestorechat App")并勾选两个复选框。完成后,大数据前景怎么样,单击createproject按钮。几秒钟后,Firebase将完成创建项目并将您重定向到项目概述页面。在那里,单击类似于的按钮,弹出一个带有Firebase属性的弹出窗口。从此弹出窗口复制apiKey、authDomain和projectd值,并将它们存储在某个位置。稍后在客户端应用程序上配置Firebase时将使用它们。在这里,您将不得不配置Firestore。如前所述,您将构建的客户端应用程序将使用Firestore存储聊天消息。因此,您需要在Firebase控制台中创建一个新数据库。为此,单击垂直菜单上的Database选项。然后,单击createdatabase按钮,选择Start in test mode选项,然后单击Enable。几秒钟之后,您就可以使用Firestore数据库了。然后,为了保护您的Firestore数据库,您必须移动到新Firestore数据库的"规则"部分,并将默认规则替换为以下内容:服务云.firestore{匹配/databases/{database}/documents{匹配/messages/{message}{允许阅读:如果为真;允许写入:如果请求.auth.uid!=空;}}}基本上,这个规则所做的是声明任何人都可以从数据库中读取(allow read:if true),但是只有经过身份验证的用户才能写入数据库(allow write:if)请求.auth.uid!=空)。有了这个规则,你必须点击发布按钮,使规则立即生效。生成服务帐户私钥由于您使用的是自定义身份验证方法,因此您需要创建用于向Firebase进行身份验证的自定义令牌。Firebase提供了一个管理SDK来帮助创建这些自定义令牌。但是,要使这个SDK正常工作,您必须给它一些引用服务帐户的凭据(以文件的形式)。要创建此帐户并获取这些凭据(此文件),必须单击"项目概述"旁边的小齿轮图标,然后单击"项目设置"。点击后,Firebase会将你重定向到项目的设置页面。加载后,物联网和互联网的区别,导航到"服务帐户"选项卡并选择Firebase Admin SDK选项。然后,单击Generatenewprivatekey按钮。稍后,Firebase将向您发送一个JSON文件,其中包含您的服务帐户的凭据。现在请确保将此文件存储在安全位置。你很快就会需要这些证书。注意:包含您服务帐户私钥的JSON文件是高度机密的,您必须将其远离GitHub等公共存储库。正在设置Auth0类似地,为了使用Auth0,您需要一个帐户。如果你还没有,那就在这里注册一个免费的吧。创建完帐户后,请转到仪表板的"应用程序"部分,然后单击"创建应用程序"。单击此按钮将使Auth0显示一个弹出窗口,您必须在其中通知应用程序的名称(您可以再次使用"Firestore聊天应用程序")和应用程序的类型。当你要构建一个实时聊天应用程序(一个不依赖于重新加载的应用程序),你必须选择单页的Web应用程序。然后,当您单击Create按钮时,Auth0将重定向到新应用程序的快速启动部分。从那里,你将不得不点击设置选项卡并更改一个特定的字段。到达"设置"选项卡后,搜索"允许的回调URL"字段并添加:3001/到。此字段指示Auth0,在进行身份验证后,必须将用户重定向到在其上配置的任何内容(在本例中,:3001/)和其他。这是Auth0实现的一种安全措施,以确保没有其他应用程序将获得生成到您的应用程序中的令牌。填写完此字段后,单击此页面底部的"保存更改"按钮以更新配置。但是,不要关闭此页面,您很快将不得不从中复制一些信息。搭建Web服务器现在已经完成了Auth0和Firebase的设置,接下来要做的就是为应用程序创建一个目录。打开终端并运行以下命令:mkdir firestore网络聊天完成后,导航到该目录,然后在终端中运行以下命令:#导航到您的项目cd firestore网络聊天#将其初始化为NPM包npm初始-y此命令将初始化包.json帮助您跟踪所有项目依赖项的文件。第