/GUM

GoUserManager: A Golang library for seamless user management and authentication

Primary LanguageGoMIT LicenseMIT

GUM (WIP)

Do not use!!! Lib in development.

GoUserManager: A Golang library for seamless user management and authentication

A reusable, databse agnostic library to handle repeatative functions like user record management, authentication and all other related tasks, like passoword reset.

Requirements

  • Mockable
  • Testable
  • Database agnostic

ToDo

functions

  • lib main struct and init function
  • CRUD user
  • change password (with active password or otp)
  • generate otp
  • get/list/create/update/delete roles
  • get/list/create/update/delete permissions
  • add/remove permissions to/from roles
  • assign/unassign roles to/from users
  • get user by id
  • get user by email
  • authenticate
  • 2fa function
  • database abstraction using repository pattern
  • postgress support

Project sturcture