V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
logto
V2EX  ›  分享创造

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

  •  3
     
  •   logto · 2022-08-21 23:34:05 +08:00 · 2951 次点击
    这是一个创建于 584 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    另外管理后台普通用户也可以登录,这个是 feature 吗?
    logto
        10
    logto  
    OP
       2022-08-23 15:40:23 +08:00
    @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-08-31 08:50:34 +08:00 via Android
    Starred ,需要的时候试试。建议把生产环境下的硬件要求写进文档里?
    vermiliondun
        12
    vermiliondun  
       2022-09-04 13:06:32 +08:00
    @logto 建议像其他类似产品一样, 把 admin 和密码作为 docker 的环境变量配置

    我去试试在 aws 的 ecs 部署一个用用
    logto
        13
    logto  
    OP
       2022-09-08 17:48:47 +08:00
    谢谢两位支持
    @caomingjun #11 我们暂时没找到标准的测试硬件要求的办法,如果您知道的话我们可以交流一下~
    @vermiliondun #12 因为之后要支持多种后台登录方式,所以暂时没有环境变量相关的计划哈
    geekyouth
        14
    geekyouth  
       335 天前
    如何集成到 wordpress 博客站点?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3145 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 12:38 · PVG 20:38 · LAX 05:38 · JFK 08:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.