Skip to content
 
 

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Auth Kit

An Authentication Base Application built with SvelteKit.

Libraries Used:

Goals

Registration

  • Email is only required after that a confirmation will be sent to the email address

Login

  • User can login with username/email and password
  • User can login via OTP
    • The email sent should also have a link and a state in the url

Rate limiting

  • Sending OTP, IP+UA limitation should only be 5 per 15minutes
  • Wrong OTP Verification should only be 5 per 15minutes

Onboarding

  • Welcome, Update Account, Select Tier Subscription, Select Payment Method, Finished Section

Documentation

  • Guide into changing database to postgres and mariadb
  • Diagrams for how the authentication flow works

Admin dashboard

  • To manage backups etc...

Demo dashboard apps

  • AI Prompt
  • Customer Maanager + Invoices (localfirst ?)
  • Chat Application
  • File Manager(emulate a google drive like)

Development

In order to start the development server, run the following command:

Environment Setup

cp .env.example .env # Creates a copy of .env.example to .env
#.env
DATABASE_URL=postgres://username:password@host:port/dbname # For local development only
SMTP_HOST=smtp.example.com # your smtp host
SMTP_PORT=587 # your smtp port
SMTP_USER=your_email@example.com
SMTP_PASSWORD=password
SMTP_FROM_NAME="Auth Kit" # if with spaces
SMTP_FROM_EMAIL=noreply@example.com # only used for verifications,
SMTP_REPLY_TO=noreply@example.com #
ORIGIN="https://example.com" # your domain name
GITHUB_CLIENT_ID=""
GITHUB_CLIENT_SECRET=""
GITHUB_CALLBACK_URL=http://localhost:5173/oauth/github/callback
GOOGLE_CLIENTID=""
GOOGLE_CLIENTSECRET=""
GOOGLE_CALLBACK_URL=http://localhost:5173/oauth/google/callback
STORAGE_ACCESS_KEY=accesskey
STORAGE_SECRET_KEY=secretkey
STORAGE_URL=  #customdomain or .r2 or s3 url
# do not include /bucketname for r2,
STORAGE_ENDPOINT=https://yoururl.r2.cloudflarestorage.com
STORAGE_BUCKET=bucketname

Create a bucket and get your credentials from the storage provider This requires a storage provider like minio, r2, or any s3 compatible provider. READ more about it here

Create your Database for now the schemas are written in postgres, create a neon or vercel postgres database, or run your own in a container for development

e.g

pnpm db:migrate # or npm run db:migrate
# Optional if you just want to login and check whats inside
pnpm db:seed # or npm run db:seed

Run the development server

pnpm dev # or npm run dev

Deploying

WIP but a dockerfile is included.

About

An Authentication starter for SvelteKit

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages