qor / auth_themes

Auth Themes
MIT License
20 stars 26 forks source link

Auth Themes

Auth Themes is a collection of themes for Auth, which is a Golang authentication framework.

It aimis to reduce repeated code, make you be able to integrate Auth into your application with few lines of code.

Usage

Each theme might has different usage, please refer their own documents, but most of them should be easy as accept an Auth Config to initialize itself.

Here is an example for how to use theme clean

import  "github.com/qor/auth_themes/clean"

func main() {
  Auth = clean.New(&auth.Config{
    DB:         db.DB,
    Render:     config.View,
    Mailer:     config.Mailer,
    UserModel:  models.User{},
    Redirector: auth.Redirector{RedirectBack: config.RedirectBack},
  })
}

How to create themes

Although integrate Auth into your application already much easier than write your own solution, it is boring/time costing to repeat yourself again and again.

To avoid this, you could create your own Auth theme.

Usually when write your theme, you can just accept an Auth Config and extend it with some default settings, and prepend Auth's ViewPaths to customize view templates, for example:

func New(config *auth.Config) *auth.Auth {
  if config == nil {
    config = &auth.Config{}
  }
  config.ViewPaths = append(config.ViewPaths, "github.com/qor/auth_themes/clean/views")

  Auth := auth.New(config)
  return Auth
}

Refer Theme Clean for more details