简体中文
  • release

Logto 2023年2月更新(扩展版)

Logto 2023年2月产品更新(扩展版)

Gao
Gao
Founder

显著更新包括:

  • 重构基础设施并增强安全性
  • 智能输入和自定义 CSS 添加到登录体验
  • 开放标准连接器(SAML, OIDC, 和 OAuth 2.0)
  • 新语言支持

让我们来看看里面有什么!

💥 重大更改 💥

解耦普通用户和管理员

Logto 曾使用一个端口服务普通用户和管理员,以及网络控制台。虽然我们一直保持高水平的安全性,但将这些组件分解为两个独立的部分仍然是一个好主意,以便保持数据隔离并提供灵活的基础设施。

image1

从这个版本开始,Logto 现在默认监听两个端口,一个用于普通用户(3001),一个用于管理员(3002)。

‼️ 点击展开详细信息
  • 对于普通用户,没有变化。不需要做出适应。
  • 对于管理员用户:
    • 默认的管理员控制台 URL 已更改为 http://localhost:3002/console
    • 若要更改管理员端口,请设置环境变量 ADMIN_PORT。例如,ADMIN_PORT=3456
    • 你可以通过设置环境变量 ADMIN_ENDPOINT 指定管理员的自定义端点。例如,ADMIN_ENDPOINT=https://admin.your-domain.com
    • 现在可以通过设置 ADMIN_DISABLE_LOCALHOST=1 并将 ADMIN_ENDPOINT 留空,完全禁用管理员端点。
    • 管理员控制台和管理员用户数据无法通过普通用户端点访问,包括环境中的 localhostENDPOINT
    • 管理员控制台不再显示管理员用户的审计日志。然而,这些日志仍然存在于数据库中,Logto 仍然插入管理员用户日志。只是没有便捷的界面来查看它们。
    • 由于数据隔离,仪表板上的数字可能会轻微下降(排除了管理员)。
  • Logto 管理 API 的资源指示器从 https://api.logto.io 更改为 https://default.logto.app/api

如果你从以前的版本升级,只需像往常一样运行数据库更改命令,剩下的我们会处理。

CORS 政策

  • 如果没有指定 ADMIN_ENDPOINT,则 localhost:[admin-port] 将被允许在 Logto 中执行跨域资源共享(CORS)。
  • 如果指定了 ADMIN_ENDPOINT,则只允许来自 ADMIN_ENDPOINT 来源的请求。

🔐 安全更新

在以往版本中,注册或更改密码时,所有新密码在加密并插入数据库之前,都会以明文形式存储在审计日志中。

在该版本中,我们更新了流程,在插入审计日志前完全屏蔽密码字段。

如果你对该问题或数据删除有任何疑问,请随时通过电子邮件或 Discord 联系我们。

🧑‍🚀 功能更新

💡 登录体验的智能输入

我们将传统的用户名、电话号码和电子邮件输入字段集成到一个智能输入框中:

该高级输入框会自动识别你输入的字符类型,例如 @ 符号或连续数字,并提供相关错误反馈。

通过简化登录过程,用户不再需要浪费时间去猜测要单击哪个按钮来切换他们想要的登录方式。这减少了错误的风险,并确保更顺畅的登录体验。

🎨 登录体验中的自定义 CSS

我们在改善用户登录体验方面投入了大量精力,并为 UI 提供了品牌颜色选项。然而,我们知道精细调整 UI 需求可能难以预测。虽然 Logto 仍在探索最佳的自定义选项,但我们希望提供一种编程方法来畅通你的开发。

你现在可以使用管理 API PATCH /api/sign-in-exp,其主体为 { "customCss": "arbitrary string" },设置登录体验的自定义 CSS。你应该看到 customCss 的值附加在页面的 <title> 之后。如果样式具有高优先级,应该能够覆盖。

例如,如果你希望给你的登录页面一种 “夜之城” 的感觉,尝试以下 CSS:

点击展开 CSS 和预览

custom-css-preview

“我们有一座城市要燃烧!”

🔗 更好的配置界面的开放标准连接器

Logto 现在支持标准协议(SAML, OIDC 和 OAuth 2.0)用于创建社交连接器,以集成外部身份提供商。每个协议可以创建多个社交连接器,使你对访问需求有更多的控制。

此外,我们优化了 SAML 连接器的配置界面。试试它并告诉我们你的感受!

📄 新语言

添加了俄语翻译。(Credit @evist0

🎉 新贡献者

谢谢你们!