Protected App:(几乎)无需代码给任意 web app 添加 authentication

42 天前
 logto

大家好! Protected App 是一个基于我们的开源项目 Logto 的新功能。只需填写两个字段,便可以给任意的 web app 添加一层 authentication:

  1. 假设你的 web app 位于 https://foo.app/
  2. Logto Cloud 中,新建一个 Protected App:
    • Origin URL 填写 https://foo.app/
    • App domain 填写 foo
  3. 创建完成后,匿名访问 https://foo.protected.app/ 即会自动跳转到登录页
  4. 最后不要忘记在 https://foo.app/ 中验证发过来的 token (这部分需要写一点点简单的验证逻辑)

Protect App 的优势

欢迎体验,也希望听到大家的建议 😊


2103 次点击
所在节点    分享创造
27 条回复
lekai63
42 天前
关注 logto 很久了。。然而一直没着手集成到 app 里去~
Chad0000
42 天前
不就是 oauth2 么
yuezk
42 天前
听起来像是在 LB 层做了 authentication ,token 通过 HTTP header 传给后面的服务,叫法不一,我们内部叫 trusted authentication 。老牌的 IDP 像 Pingfederate 和 SiteMinder 好像都支持类似的功能,不过可能没有楼主的易用。
grimbedroom
42 天前
提一嘴,开着 vpn 用谷歌登录,登录了四遍才进去
logto
42 天前
@grimbedroom vpn 是哪里的节点,出了什么问题呢?我们目前服务器在欧洲,可能会有一些延迟
grimbedroom
42 天前
@logto 韩国春川,谷歌选择账号后回调到你们的网页,加载了一会就不加载了,重试了三次进入注册流程了,现在退出重新登录没复现了
logto
42 天前
@grimbedroom 感谢,我们去尝试复现一下
wuyuandev
42 天前
尝试自托管 logto 以后坚定了自己写登录功能的决心
nicoljiang
42 天前
@wuyuandev 用了 casdoor 之后也坚定了自己写的决心。
cydian
42 天前
@nicoljiang 老哥讲讲 casdoor 正准备新项目接入一下试试
logto
42 天前
@wuyuandev 感谢你的支持
lekai63
42 天前
@wuyuandev 听起来是贬义啊? 分享分享呗,让我这个一直没行动的 心里有个准备
0o0O0o0O0o
42 天前
看介绍很喜欢,蹲一下开源
kidlj
42 天前
很喜欢 Logto ,也尝试集成过,希望开源版能支持多租户,不然国内企业很难用起来(服务器在欧洲)。
xiaohanyu
42 天前
跟楼上 @wuyuandev 和 @nicoljiang 相反,我是自己先写了 auth ,之后又花时间全部迁移到了 logto ,也是自托管,用了快小半年了,还是非常非常推荐了。

当然,自托管确实还是有一些部署和运维上的复杂性,SRE 方面比较弱的小伙伴们,还是推荐用下 logto cloud ,蛮好的。

写的两篇迁移到 logto 的文章:

- [Introducing the New Auth Flow for PPResume]( https://blog.ppresume.com/posts/introducting-the-new-auth-flow?utm_source=v2ex&utm_medium=xiaohanyu&utm_campaign=logto-protected-app)
- [Introducing Google Sign In for PPResume]( https://blog.ppresume.com/posts/introducing-google-sign-in?utm_source=v2ex&utm_medium=xiaohanyu&utm_campaign=logto-protected-app)

仅供参考哈

---

Protected app 的 idea 蛮好的,个人感觉依照 express middleware 的方式,通过一个 proxy 来抽离出 auth layer ,very smart 。就我个人体验而言,接入 logto 作为一个第三方的 auth server ,因为要同时在前端和后端都验证 auth token ,所以要接入两套 SDK ,还是有些复杂度的。

不过目前看上去 protected app 功能可能还是比较有限,跟 SDK 的接入还是无法对标的。看场景啦。
logto
42 天前
@xiaohanyu 谢谢你的支持,Protected App 目前更适合快速接入,功能丰富度上暂时比不过 SDK 。好在 Protected App 底层也是 OIDC client ,后期如果有高级需求可以无缝迁移到 SDK 集成。
nicoljiang
42 天前
@cydian 本身希望非常简单地接入使用,结果还是遇到很多磕磕绊绊。实际使用之后发现整体比较复杂,比较难在短时间搞熟。另外也不排除有一些小问题小 bug ,我们自己还修改了代码,这个时候已经有了一些不满(原本就是为了自己可以不亲自处理这方面的东西),但由于使用场景目前也非常简单,自己修了 2 个 bug 后倒也相安无事,就继续用。

后在使用其他服务需要用到一键登录的需求时,发现又不能直接使用(结果还得自己写了个中转接口)。最后痛定思痛,觉得因为想解决一个小问题引入了一套复杂的东西实在得不偿失,而且连最初的目的都达不到(成为账户中心,方便接入)。
@xiaohanyu 我们也是在自己修了几个小 bug 之后其实也是真切体会到,这套东西实际真的很简单,但之前被一个个的名词和一套套的协议给吓到了。本质就是一个特别简单的东西,不值得引入复杂的不确定性因素。当然使用云服务,有专业支持的话,问题可能不大。现在自己写了,接入什么都很容易实现,灵活度和可靠性大大提高。
pseudo
42 天前
@nicoljiang 我理解你遇到的问题是和 casdoor 相关的哈,和本帖无关。

此外,通过自己的场景推断某一个事物“简单”未免有些草率了。同样的逻辑可以推断出 Redis 也真的很简单,只是 KV 存储;前端也真的很简单,只是 DOM 操作; Machine learning 也真的很简单,只是给机器喂数据。
doveyoung
42 天前
最开始我的用法是 foo.app 在 nginx 做 auth 验证拦截,引入 vouch 让 nginx 拥有可以和 OIDC 对接的能力,logto 作为 provider 。

后来发现 logto cloud 有了 protected 还想试试,但是要再去访问 foo.protected.app ,有些时候不想访问别人的域名,而且也不支持 oss 版本,现在已经没这个念想了 emmm

不过 logto 真是一个很好用的项目
nicoljiang
41 天前
@pseudo 我没说 Logto 和 Casdoor 简单,反而是说:我们的需求很简单,他们太复杂(然后又容易引入一些小问题)所以才决定自己写。

所以这些只和 casdoor 有关吗? logto 是不是已经做得非常健壮、安全、完整了?是否可以支持上有自定义需求的一键登录行为了,我不知道,你知道吗?

现在 rust 都这么普及了,我们自己早就用自研的东西把 Nginx 系、dnsmasq 系这种简单的组件替代掉了,再替换掉 Redis 这种简单的工具替代掉有什么奇怪的吗?

其他的,你就别跟我扯什么耶稣上帝了,跟我没关系,跟你也没关系(你这杠真的有必要抬到把 Redis 一个简单的工具跟整个前端、机器学习这种大生态的行业强行做对比吗?)。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1039170

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX