SuperAPI AI 工具集

phoenix-auth-customization

编程与开发

查看项目

更新于 10-16 06:17

技能介绍

用途:在 Elixir Phoenix 项目中扩展 phx.gen.auth 生成的认证体系,添加用户名、资料字段或自定义注册字段时使用。

主要能力与规则:不得直接修改生成的认证迁移,需为自定义字段新建迁移;在 registration_changeset 中扩展 cast 与校验,而不是新建并行 changeset;唯一性须同时使用 unique_constraint 与数据库唯一索引;添加必填字段时同步更新测试夹具,并在密码认证夹具中设置 confirmed_at;注册表单与 save/2 处理器都要更新。

用法步骤:运行 mix phx.gen.auth Accounts User users 生成认证;用 mix ecto.gen.migration add_username_to_users 创建独立迁移,alter table(:users) 添加字段并 create unique_index,然后 mix ecto.migrate;在 User Schema 中新增 field 并在 registration_changeset 中 cast、validate_required、validate_format、validate_length、unsafe_validate_unique 与 unique_constraint;更新 user_fixture/1,补充 username 与 confirmed_at: DateTime.utc_now(:second),运行 mix test 验证;最后在注册表单添加对应 input 并更新 save/2。

适用场景:为 Phoenix LiveView 认证增加用户名、显示名、头像 URL 等字段;可选字段迁移列省略 null: false、changeset 省略 validate_required。

限制与注意:邮箱确认流程由 phx.gen.auth 生成,测试需设置 confirmed_at 以绕过确认门禁,生产环境需用户点击确认链接;补充资料中未提供具体版本要求、安装命令之外的其他依赖信息,也未提供收费或平台信息。