ayb项目推出了一种新的Web应用设计理念,核心在于让用户授权应用访问自己控制的数据库,而非通过输入密码进行身份认证[1]。这一模式改变了传统的用户-应用关系,使用户能够保持对自身数据的完全控制权[1]。
该方案采用开源技术存储数据,包括SQLite和DuckDB等标准文件格式[1]。应用端通过OAuth2 PKCE流程实现访问授权,并提供ayb.js库供开发者集成,集成工作可在一小时内完成[1]。以Todos应用为例,整个应用采用静态HTML/CSS/JavaScript构建,服务器不存储用户状态[1]。用户随时可以撤销应用对数据库的访问权限[1]。
作者已在多个个人应用中实现了这一模式,包括Todos追踪、Streaks追踪和博客订阅管理等[1]。
A novel web application design philosophy proposes shifting from traditional authentication to an authorization model where users grant applications access to their own databases rather than sharing passwords [1]. This approach is demonstrated through the ayb project, which enables users to easily create and manage personal databases while maintaining complete control over their data [1].
Under this model, applications request permission to "connect your database" instead of asking users to "enter your password" [1]. The ayb project leverages open-source technologies including SQLite and DuckDB to store data in standard file formats [1]. Integration for developers is streamlined through the ayb.js library, which can be implemented within approximately one hour using OAuth2 PKCE flow [1]. Users retain the ability to revoke application access to their databases at any time [1].
The practical viability of this architecture is illustrated through existing implementations, including a Todos application built as static HTML, CSS, and JavaScript with no server-side user state storage [1]. The developer has already deployed this pattern across multiple personal applications, including Todos tracking, Streaks tracking, and blog subscription management [1].