介绍 Protected App:点击即可建立身份验证,无需编码
关于 Protected App 的背景故事。
将 Logto 作为 Auth0 的开放替代品的旅程颇为波折。在网上检查身份的方式琳琅满目,那为什么还要再添加一个呢?这是我们深思熟虑的大问题。我们想要的是任何编码者都能拿起来使用,而无需学习一堆 SDK 或编写无尽的代码。
所以,这就是大新闻:我们创建了 Protected App。它超级简单 - 只需要填写两个地方,然后嘭,你的应用就有了身份验证保护。没有麻烦。🎉
构建 Protected App 的动机
在维护我们的官方 SDK 的过程中,我们注意到了一个重要的问题:尽管我们为开发者提供了众多的 SDK 和示例项目,但集成过程仍然具有挑战性。开发者必须了解各种类型的 "tokens" ,并编写额外的代码以集成它们。这让我们产生了疑问:使用 Logto 是否真的比从头构建新的认证系统更容易?可惜,我们意识到它并不像我们所希望的那样简单明了。
从 Express SDK 中获取启示
在 Express SDK 中,我们建议开发者添加中间件作为额外的层来执行三个关键任务:处理认证路由,检查认证状态,并将用户信息添加到请求对象中。通过这样做,开发者可以从请求中访问一个受信任的认证对象,而无需理解 "集成 SDK" 的复杂性。这启发我们思考:我们是否可以为开发者处理初步的任务,然后直接引导他们进行后续步骤?
类似产品:Cloudflare Access
根据它的官方介绍,Cloudflare Access 为所有您自托管的、SaaS 或非网络应用创建了一个安全的访问层,而无需对应用本身进行任何代码更改。
作为一个 CDN 供应商,Cloudflare 可以在将请求转发到源服务器之前,为其 CDN 服务添加一个认证层。但是,它主要是为企业内部产品设计的,免费计划只支持最多 50 名用户,并根据用户数量进行收费。
我们做了什么
Cloudflare 被广大的开发者社区信任,Protected App 运行在 Cloudflare Workers 上,从而消除了对应用管理额外服务器的担忧。我们以与 Express SDK 样例中展示的相似方式集成了 Logto,但增加了对定制的支持。然后,我们将增强的请求转发到你的源服务器。
Protected App 维持会话状态和用户信息。如果用户未经认证,Protected App 会将他们重定向到登录页面。一旦认证通过,Protected App 将用户的请求用认证和用户信息包裹起来,然后转发到源服务器。
以下流程图可视化了这个过程:
简化身份验证:简单易用,且安全强大
使用 Protected App 极其简单,只需要两个关键信息:需要身份验证的源 URL,以及作为身份验证保护代理的应用域。该域还充当你的应用的开放 URL。
在其用户友好的表面下,Protected App 采用了健壮的 OpenID Connect 协议,这也是其他常规 Logto 应用背后的技术。这确保你的应用受益于行业级的安全性和可扩展性,保护你的数据和用户信息,同时不影响性能。
此外,Protected App 提供丰富的定制选项。你有自由调整站点不同区域的认证规则,并绑定一个自定义域。
专注于重要的事物
通过采用 Protected App,其他强大的 Logto 功能自动向你开放:可定制的登录体验,多因素认证,企业 SSO,基于角色的访问控制,组织 等等!
在这个瞬息万变的行业,我们希望所有的构建者都能专注于他们的出色想法和业务,而不用与集成和技术难题苦战。这是我们团队的使命,也是 Logto 的设计之初的寄望。我们致力于支持你把你的伟大想法变为现实,确保你可以将你的时间和资源投入到真正重要的东西上——你的愿景和你的用户。
加入我们的旅程
Protected App 现已在 Logto Cloud 中可用,我们很高兴宣布它将很快开源。
我们邀请你和我们一起开始这个旅程,简化安全,让你可以专注于真正重要的事情。
保持安全,保持登录!💻🔐