Skip to content

Latest commit

 

History

History
55 lines (52 loc) · 2.63 KB

ROADMAP.md

File metadata and controls

55 lines (52 loc) · 2.63 KB

Roadmap for authorizer

This document contains detailed information about the project scope and future roadmap

V 0.1.0 [To be released by 20-August-2021]

  • Create server
    • Use golang as server side language
    • Use gorm as ORM
    • Configure https://github.com/99designs/gqlgen for generating graphql schemas
    • Configure https://github.com/gin-gonic/gin for creating http server
    • Define base schema for user
    • Define the auth schemes and variables required for that
      • Basic Auth (Username & Password based)
      • Google Login
      • Github Login
      • Twitter Login
      • Facebook Login
      • Login with magic link (Send magic link mail)
    • Add mailing server to send the magic link
    • Allow configuring the master password to access the console (If not set UI console can be accessed by anyone)
    • Allow configuring mailing server
    • Allow configuring HSA Keys for oauth
    • Allow configuring RSA keys for oauth
    • Allow configuring the DB client
    • Allow configuring the Secret
    • Allow configuring callback urls
    • Allow configuring redis, should be optional if not used use the memory to store session
  • Create Graphql mutations and query for following
    • Login mutation
    • Logout muttion
    • Token query :- Authorize [Currently checks for valid token & if token is present in session]
    • Should authorize using cookies
    • Should authorize using Authorization header
    • Role based access [Checks for particular role in JWT]
    • Signup
    • Forgot password
    • Update profile
  • Create a UI console to configure the above parts [For now using graphql playground]
    • Create react app
    • Allow user to configure above mentioned envs
    • Allow user to add user
    • Allow user to view users
    • Allow user to define the JWT token field
  • A component library for react
    • Create AuthorizerProvider -> gives token, user, loading, setters
    • Create Authorizer component -> Complete Login/Signup & Forgot password solution
    • Create AuthorizerResetPassword component -> Component that can be used to verify forgot password token and reset the password
  • Create a sdks
    • NodeJS sdk which acts as a middleware and can be used to authenticate & authorize users
    • Golang sdk which acts as a middleware and can be used to authenticate & authorize users
  • Create docker image
  • Create docker-compose file to quickly start this
  • Create heroku button
  • Create a website