用途:为 Netlify 站点添加应用级认证与用户管理,访客无需是 Netlify 用户。使用 @netlify/identity 包,新项目不要再用旧版 netlify-identity-widget 或 gotrue-js。
主要能力:客户端提供 signup、login、logout、getUser、oauthLogin(google/github/gitlab/bitbucket)、handleAuthCallback、recoverPassword、acceptInvite、refreshSession。服务端 getUser 可用于浏览器、Netlify Functions 和 Edge Functions;admin.* 仅在 Netlify Functions 中可用,如 admin.listUsers、admin.updateUser。支持角色(app_metadata.roles)与基于重定向规则的 RBAC,以及 userValidate、userSignup、userLogin、userModified、userDeleted 等身份事件函数。
使用方式:先在仪表盘 Project configuration > Identity 启用(无公开 API),再执行 npm install @netlify/identity。必须使用 HTTPS。OAuth 回调、邮件确认、密码恢复、邀请都需在落地页调用 handleAuthCallback()。服务端登录/注册/登出需先调用 verifyRequestOrigin(req) 防 CSRF。服务端需使用 v2 函数(export default),v1 export { handler } 不支持。
限制:Identity 在 netlify dev 下不可用,需在部署(含 Deploy Previews)上测试。RBAC 重定向必须加 fallback,否则无角色访客得到裸 404。角色变更在下次登录或刷新令牌后生效。自定义邮件、模板、审计日志需 Pro+;外部 JWT 提供商需 Enterprise。站点级门禁应改用 netlify-access-control。失败时应展示错误、仪表盘 URL 和需检查的设置,不要臆造恢复命令。