auth plugin: own the public profile route /profile/$accountId (generic identity profile with child-app extension sections)

未关闭
#685 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
15/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
typescript

调研方向

Start with the auth plugin (@everything-dev/auth-plugin) and its existing /settings/profile, /login, /onboard and /admin/users routes, then read #661 for the extension-point design this depends on and #684 for the composed-runtime invariant. Work out how a plugin-owned public /profile/$accountId route can take section extensions with ordering and per-section failure isolation. Done means the route renders identity data for any account without a session, and a child app can add a section that renders inside the plugin layout.

由索引模型根据 Issue 内容生成。

描述

Problem

Public account profiles (/profile/$accountId) are a standard identity surface every child app needs (user-nav "Profile" links, leaderboard/campaign signer links), but each child currently hand-rolls the route. In our app that hand-rolled route is also where a composed-runtime invariant surfaced (#684).

Proposal

The auth plugin (@everything-dev/auth-plugin), which already owns /settings/profile, /login, /onboard, and /admin/users, also ships a public /profile/$accountId page:

  • Generic identity profile: NEAR social profile data (name, image), badges, linked auth methods
  • Declared extension point per #661 so child apps add their own sections below the identity fields (e.g. our crosspost posts list), rendered inside the plugin's layout, in configured order, with failure isolation per section
  • Auth gate only where appropriate (public viewing of other accounts should not require a session)
Child impact

Apps delete their local _authenticated/profile/ routes and link to the plugin-owned route; app-specific content moves into the extension sections.

Related
  • #661 (Settings → Profile extension point — same mechanism, different surface)
  • #684 (composed-runtime invariant that surfaced on the hand-rolled profile route)
主要语言
TypeScript
星标
5
派生
3
平均合并
9 小时 16 分钟
30 天内合并 PR
160

环境准备

  • 提供 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

NEARBuilders/everything-dev 的其他 Issue

查看 NEARBuilders/everything-dev 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。