Logto x Hasura:使用开源 auth + GraphQL 解决方案来飞速构建项目 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
logto
V2EX    分享创造

Logto x Hasura:使用开源 auth + GraphQL 解决方案来飞速构建项目

  logto
logto-io 2022 年 8 月 21 日 4143 次点击
这是一个创建于 1268 天前的主题,其中的信息可能已经有所发展或是发生改变。

当涉及到一个新项目时,通常不能跳过几件事:API 、身份验证 + 授权、用户体系搭建和登录流程的前端实现。在过去,很难一个人搞定这些事情,因为有许多广泛分布概念和技术:RESTful/GraphQL 、web 前端、原生 app 、将客户端与 API 连接、authn/authz 的最佳实践、安全性和用户体验的平衡等等。

并且,大部分工作都是重复的。几乎每个项目都需要这些基础架构(可能会根据实际情况做一些微调)。

听起来是不是既可怕又乏味?其实不用担心嘿嘿,时至今日我们有个强大的开源社区。通过下面两个开源项目,事情就变得不那么棘手了:

  • Logto:在几分钟内建立登录注册、auth 和身份体系。(支持 web 和原生 app )
  • Hasura:基于数据库表结构的快速、即时的 GraphQL APIs ,并有细粒度访问控制。

Logto x Hasura.png

通过连接 Logto 和 Hasura 。它能够让你顺滑地实现身份验证、授权和被 token 保护的 GraphQL API 。这样一来,无需学习「火箭科学」就可以快速完成这些「不得不做的事情」,尽情开展业务:

  • 数据库结构驱动的 GraphQL API endpoint
  • 基于 OIDC 协议的身份验证和身份服务
  • 完整的用户登录 /注册流程和身份状态管理
  • 基于用户 ID 和角色的安全 API 访问

连接 Logto 和 Hasura 也并不困难,这里有一份详细的集成教程。因为里面涉及很多技术细节,并且篇幅较长,就不在此全部展开了。如果过程中有任何疑问也欢迎大家讨论交流~

定制登录

Logto 定制登录体验效果图

14 条回复    2023-04-27 21:12:26 +08:00
Alecyrus
    1
Alecyrus  
   2022 年 8 月 22 日
Logto 是个好东西,如果不是现在才知道,现在产品的认证服务就直接用 Logto 的方案了。
pseudo
    2
pseudo  
   2022 年 8 月 22 日 via iPhone
@Alecyrus 我是 Logto 项目开发者。谢谢你的喜欢!
没关系,下一个产品可以用呀。或者等你有空了可以尝试迁移到 Logto ,我们会陆续推出相关迁移指南。也欢迎加入我们的 Discord server 来保持沟通。
Yunhao
    3
Yunhao  
   2022 年 8 月 22 日 via iPhone
这是类似于 parse 、firebase 的服务?
ggvm
    4
ggvm  
   2022 年 8 月 22 日
@pseudo 你还别说,你们的 discord 还不好找
pseudo
    5
pseudo  
   2022 年 8 月 22 日 via iPhone
@Yunhao 不太一样哈。更加独立
@ggvm 谢谢,马上改正
Seahurt
    6
Seahurt  
   2022 年 8 月 22 日 via iPhone
比 casdoor 好看易用,但是连接器有点少…
logto
    7
logto  
OP
   2022 年 8 月 22 日
@Seahurt #6 谢谢。项目刚发布不久,还在补充中。可以告诉我们需要的连接器哈,也欢迎大家贡献~
king888
    8
king888  
   2022 年 8 月 23 日   1
Starred ,看上去不错喔,有机会试用下
thomaspaine
    9
thomaspaine  
   2022 年 8 月 23 日
@logto 文档建议再深入一点,现在的问题是如果没有官方支持就很难自己进行二次开发,只能自己啃源码或者猜代码

另外应用为什么要分原生、单页和传统三类呢?很有可能一个应用是多端的啊,难道去后台建多个应用?

另外管理后台普通用户也可以登录,这个是 feature 吗?
logto
    10
logto  
OP
   2022 年 8 月 23 日
@thomaspaine #9
- 谢谢建议,我们对项目有一个简要的说明 https://docs.logto.io/docs/references/core/。创业公司资源有限,我们最近的精力会在完善产品本身。有兴趣的话欢迎查看 public roadmap https://github.com/orgs/logto-io/projects/5/views/1 或者加入 discord 交流。
- 是的,我们建议多端创建多个应用。
- 是不可以的哈。刚刚使用最新镜像尝试了,第一个注册用户为管理员,之后注册的用户尝试登录后台会提示 forbidden 。如果有复现路径还麻烦提一个 issue 或者通过 discord 交流。
caomingjun
    11
caomingjun  
   2022 年 8 月 31 日 via Android
Starred ,需要的时候试试。建议把生产环境下的硬件要求写进文档里?
vermiliondun
    12
vermiliondun  
   2022 年 9 月 4 日
@logto 建议像其他类似产品一样, 把 admin 和密码作为 docker 的环境变量配置

我去试试在 aws 的 ecs 部署一个用用
logto
    13
logto  
OP
   2022 年 9 月 8 日
谢谢两位支持
@caomingjun #11 我们暂时没找到标准的测试硬件要求的办法,如果您知道的话我们可以交流一下~
@vermiliondun #12 因为之后要支持多种后台登录方式,所以暂时没有环境变量相关的计划哈
geekyouth
    14
geekyouth  
   2023 年 4 月 27 日
如何集成到 wordpress 博客站点?
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1041 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 23ms UTC 18:40 PVG 02:40 LAX 10:40 JFK 13:40
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86