-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
Description
Description
Set up project dependencies required for the authentication phase.
Dependencies to Add
Production Dependencies
# In mix.exs
defp deps do
[
# ... existing deps
{:bcrypt_elixir, "~> 3.0"}, # or {:argon2_elixir, "~> 4.0"}
{:joken, "~> 2.6"},
{:hammer, "~> 6.2"}, # Rate limiting (or ex_rated)
]
endConfiguration
Add to config/config.exs or appropriate env files:
# JWT Configuration
config :joken, default_signer: System.get_env("JWT_SECRET")
# Token expiry
config :wavve_backend, :tokens,
access_token_ttl: {7, :days},
refresh_token_ttl: {30, :days}
# Rate limiting
config :hammer,
backend: {Hammer.Backend.ETS, [expiry_ms: 60_000 * 60 * 4, cleanup_interval_ms: 60_000 * 10]}Tasks
- Add dependencies to
mix.exs - Run
mix deps.get - Configure JWT settings in environment files
- Set up rate limiting configuration
- Update
.env.examplewith required variables - Document all new environment variables
Environment Variables to Add
# JWT Configuration
JWT_SECRET=<generate with mix phx.gen.secret>
# Email Service (choose one)
SMTP_HOST=smtp.sendgrid.net
SMTP_PORT=587
SMTP_USERNAME=apikey
SMTP_PASSWORD=your_sendgrid_api_key
FROM_EMAIL=noreply@wavve.app
# OR use Mailgun
MAILGUN_API_KEY=your_api_key
MAILGUN_DOMAIN=mg.wavve.appVerification
- All dependencies compile successfully
- No version conflicts
- Configuration loads correctly
- Environment variables documented
- Team notified of new requirements
Definition of Done
- Dependencies added and working
- Configuration complete
- Documentation updated
- No compilation errors
Reactions are currently unavailable