为你的下一个GraphQL API提供三个初始存储库

303 阅读4分钟

大家好!谢谢你的加入。

今天我想与大家分享三个启动库,以启动你的下一个GraphQL API - 从认证到用户会员,这些开源库的设计使你能够轻松地让你的项目启动和运行。

Logos for the business and 3 repositories.

低调

我希望在启动新项目时,能够轻松地启动API,所以我决定将项目的各个部分分成可重用的资源库,以适应一般情况。

我们的想法是,每个服务都可以通过一些配置来启动,并在生产中使用,或者作为任何定制项目的起点。

技术栈

  • 图形化QL
  • 阿波罗联盟
  • 快递
  • 节点
  • 脚本
  • 脚本

GraphQL网关

@the-devoyage/graphql-gateway服务是一个功能齐全的Apollo网关,可以作为你下一个API的入口。它预置了一些现代工业标准技术,随着项目的发展,你的API很可能会需要这些技术。

文件上传路由和服务

当上传文件到联邦GraphQL API时,你很可能需要将文件发送到处理文件上传和服务的服务,但是,你不应该将文件上传服务器直接暴露在联邦API的公共互联网上。

默认情况下,该服务可以将文件发送到联盟服务,并从文件上传服务中代理文件服务。不需要将文件上传服务暴露在互联网上--而且--你可以从网关发送和接收文件。

内置和自动的JWT授权

只需将授权头中的承载令牌传递给网关,网关就会向所有子图提供认证状态和有效载荷(来自解码令牌)。

全局上下文

像上面提到的,网关有能力向外部子图提供数据--我称之为全局上下文。令牌的有效载荷与你想提供给外部子图的任何自定义数据一起被自动添加到全局上下文。

存储库

GitHub - The-Devoyage/graphql-gateway:一个apollo网关,随时可以启动。支持超级图的生成和文件上传。

让我知道你的想法!这些项目花了很多时间,如果你发现自己有一些额外的钱,你可以分享一些爱,并获得一个MIT许可的服务版本,让你随意使用,在这里

GraphQL网关 - 安全地启动你的API

GraphQL账户

@the-devoyage/graphql-accounts资源库可以让你在任何API中快速添加认证(相对于授权,这是由上述网关处理的)。

注册、登录和基础知识

开箱即用,服务有解析器来处理每个账户系统需要的基本功能。注册账户、双因素电子邮件验证、密码重设,只是该服务预置的几个解析器。

电子邮件网络钩子

事件将触发网络钩子,这样你就可以在重要的事情发生时向用户发送自定义信息--比如密码重置通知或验证码。

资源库

GitHub - The-Devoyage/graphql-accounts:一个现成的账户服务,可以通过JSON网络令牌实现基于密码的认证。可以按原样使用,也可以作为启动你的API的起点。

如果你想下载MIT授权的版本,请查看下面的Gumroad链接,或者送上一些爱。

账户 - 注册和登录

GraphQL用户

@the-devoyage/graphql-users服务的设计是为了与上述账户服务(或任何联合账户服务真的!)一起工作。

保存用户信息

虽然账户系统很适合处理认证,但用户服务可以帮助保存更多关于正在访问你的服务的用户的数据,包括姓名、联系信息、地址等等。

用户会员制

用户可以通过用户会员系统邀请其他人来管理他们的账户。邀请的用户可以控制谁可以访问他们的账户以及被邀请的用户在账户内的访问程度。

仓库

GitHub - The-Devoyage/graphql-users:users微服务,可以开箱即用,作为用户认证和数据存储服务,或者作为你下一个API的用户部分的起点。

如果你喜欢它,你可以购买下面的MIT授权版本。

GraphQL Users - 用户和会员制API

更多存储库

哦,还有更多如果你喜欢这里的内容,请一定要坚持下去,因为接下来我将分享另外两个资料库,以启动你的下一个API,包括文件上传API和自动发送电子邮件API。

如果你想直接进入,请查看商店- https://app.gumroad.com/thedevoyage

谢谢你,像往常一样!下次再会!


为你的下一个GraphQL API提供三个入门资料库》最初发表在Dev Genius的Medium上,人们在那里通过强调和回应这个故事来继续对话。